PDA

View Full Version : dropdown


lynettes
12-14-2004, 03:06 AM
I can't get the program to match the author selected in the dropdown list to the database so I can get the correct info returned. Any suggestions?

==========================================
<DIV ID="content" ALIGN="center">
<H3>Search By Author:</H3>
<?PHP
//********************************************************************************************
//CONNECTS DATABASE
//********************************************************************************************

$CONNECTION = mysql_connect($DB_SERVER, $DB_USER, $DB_PASS) or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db($DB_NAME) or die("Couldnt select database");
//********************************************************************************************
//********************************************************************************************

//********************************************************************************************
//GETS DATA
//********************************************************************************************
$SQL = "SELECT DISTINCT author_last_name, author_first_name FROM $DB_TABLE ORDER BY author_last_name, author_first_name";
$RESULT = mysql_query($SQL, $CONNECTION) OR die("Query failed.");
$NUM = mysql_num_rows($RESULT);
//********************************************************************************************
//********************************************************************************************
?>

<FORM METHOD='post' ACTION='authorsearch.php'>
<SELECT NAME='wanted'>
<OPTION VALUE="0" SELECTED>--- Browse Authors ---</OPTION>
<?PHP
//********************************************************************************************
//POPULATES COMBO BOX
//********************************************************************************************
while ($ROW = mysql_fetch_array($RESULT))
{
$LNAME = $ROW["author_last_name"];
$FNAME = $ROW["author_first_name"];
echo "<OPTION VALUE='$ROW' ID='wanted'>$LNAME, $FNAME</OPTION>";
}
//********************************************************************************************
//********************************************************************************************
?>
</SELECT>
<BR><BR>
<INPUT TYPE='hidden' name='selectauthor' value='set'>
<INPUT TYPE='SUBMIT' VALUE='View the Details!'>
<INPUT TYPE='RESET' VALUE='Clear Selection!'>
</FORM>

<?PHP
//********************************************************************************************
//RETURNS INFO REQUESTED
//********************************************************************************************
if(isset($_POST['selectauthor']))
{
$WANTED = $_POST['wanted'];
echo "$WANTED";
$SQL1 = "SELECT * FROM $DB_TABLE WHERE author_last_name = '$LNAME' AND author_first_name = '$FNAME'";
$RESULT1 = mysql_query($SQL1, $CONNECTION) OR die("Query failed." );
$NUM1 = mysql_num_rows($RESULT1);

if ($NUM1 == 0)
{
echo "No books found";
}
elseif ($NUM1 > 0)
{
echo "$FNAME $LNAME has $NUM1 books in the collection.";
echo "<BR><BR>";
echo "<TABLE ALIGN='center' CELLSPACING='2' CELLPADDING='2' BORDER='1' FRAME='box'>";
}
while($ROW = mysql_fetch_array($RESULT1))
{
$TITLE = $ROW["title"];
$CALL1 = $ROW["call_number_1"];
$CALL2 = $ROW["call_number_2"];
$PAGES = $ROW["number_of_pages"];
$SUBJECT = $ROW["subject"];
$ISBN = $ROW["isbn"];
$SUBHEADINGS = $ROW["subheadings"];

echo "<TR><TD COLSPAN='4'><STRONG>$TITLE</STRONG></TD></TR>";
echo "<TR><TD><STRONG>Call Number:</STRONG></TD><TD COLSPAN='3'>$CALL1<BR>$CALL2</TD></TR>";
echo "<TR><TD><STRONG>ISBN:</STRONG></TD><TD>$ISBN</TD><TD><STRONG>Subject:</STRONG></TD><TD>$SUBJECT</TD></TR>";
echo "<TR><TD><STRONG>Subheadings:</STRONG></TD><TD COLSPAN='3'>$SUBHEADINGS</TD></TR>";
}
echo "</TABLE>";
}
//********************************************************************************************
//********************************************************************************************
?>
</DIV>
<DIV ID="footer" ALIGN="center">
<?php include("includes/main_footer.htm") ?>
</DIV>
</BODY>
</HTML>

firepages
12-14-2004, 05:22 AM
<OPTION VALUE='$ROW'

here $ROW will echo 'array()' , does $DB_TABLE have an index ? e.g. ID ?

if so then use ...
<OPTION VALUE='{$ROW['ID']}'

and WHERE ID=$WANTED in the second query.

If you do not have an ID or similar field you will have to pass both the author name and surname somehow for use in your second SELECT e.g.

<OPTION VALUE='{$FNAME}:{$LNAME}' etc
then in your SELECT ..

WHERE CONCAT( author_first_name, ':', author_last_name) = '{$WANTED}'