i have a search page that contains a textbox for the user to enter a search item and a search button. Once the search button is pressed it does a search on that particular item and looks for it in stored database. now, sometimes it can return more than one match. so for example, if i do a search on the color red in my car database, if i have 2 red cars but with different models it will still return both matches. i have the output listed in a table with columns and rows. now the problem is that the user can select only one of the matches using a radio button, then submit thier results to go to another page. i've added the radio buttons, but what i need to know is how do i go about tracking which one was selected because the radio buttons aren't identified to the items. This is what i have now: <?php $page_title = 'System Configuration - Generic Search'; $radio = '<INPUT TYPE="radio" NAME="check1" VALUE="">'; include('./awacswebhome.inc'); ?> <CENTER> <?php //if 'Submit' button was pressed if(isset($_POST['genericsearchbutton'])) { require_once('./mysql_connect.php'); $searchfor = ereg_replace('\*', '%', $_POST['searchfield']); $stype = $_POST['searchtype']; $query ="SELECT * FROM systemconfig_generic WHERE $stype LIKE '$searchfor'"; $result = @mysql_query($query); if($rows = @mysql_fetch_array($result)) { echo "<FONT SIZE=2><BR><BR>Found the following results for <B>'"; echo $_POST['searchfield']; echo "'</B> in <B>'$stype'</B> field:<BR><BR>"; echo '<TABLE BORDER="1" CELLPADDING="4" CELLSPACING="2">'; echo '<TR><TD><FONT SIZE=2><B>Check</TD><TD><B><FONT SIZE=2>System</B></TD><TD><B><FONT SIZE=2>Description</B></TD><TD><B><FONT SIZE=2>Part No</B></TD></TR>'; extract($rows); echo "<TR><TD>$radio</TD><TD><FONT SIZE=2>$system</TD><TD><FONT SIZE=2>$description</TD><TD><FONT SIZE=2>$partno</TD></TR>"; while($rows = @mysql_fetch_array($result)) { extract($rows); echo "<TR><TD>$radio</TD><TD><FONT SIZE=2>$system</TD><TD><FONT SIZE=2>$description</TD><TD><FONT SIZE=2>$partno</TD></TR>"; } echo '</TABLE>'; } else { echo "<BR><FONT SIZE=2>No entries found for <B>'"; echo $_POST['searchfield']; echo "'</B> in <B>'$stype'</B> field.<BR>"; echo "<FONT SIZE=2>Try using '*' for wildcard searching.<BR>"; } include('./genericgoback.inc'); include('./genericselect.inc'); mysql_close(); } PHP:
while ($rows = @mysql_fetch_array($result)) { extract($rows); echo '<TR><TD><input type=radio name="car" value="part-'.$partno.'" /></TD><TD><FONT SIZE=2>'.$system.'</TD><TD><FONT SIZE=2>'.$description.'</TD><TD><FONT SIZE=2>'.$partno.'</TD></TR>'; } PHP: On the page that the form gets submitted to, you'll have the GET variable car and the contents will be part-XXXXX. You wouldn't have to prepend it with "part-" if that will just mess you up. Also you could use the row's id or something like that.
Thanks Exam, but I'm not sure that would work. I've attached an example of what i have...i need to know how to retrieve the query that matches with the selected radio box.
Whatever field is the unique field for each row (by looking at your thumbnail, it appears that maybe system is?) If not, you need to add a column (Field) id and have that be an auto_increment int. That is what you would use in my example above instead of part number. I had just assumed that a part number would be unique. If you want, send me or post a couple of sample rows from your database, so I can see what's up.
i do have a unique field called 'gid' that autoincrements in the database...so i tried putting this in: echo "<TR><TD><INPUT TYPE=radio NAME="radio" VALUE="'.$gid.'"/></TD><TD><FONT SIZE=2>$system</TD><TD><FONT SIZE=2>$description</TD><TD><FONT SIZE=2>$partno</TD></TR>"; PHP: and its giving me a parse error: Parse error: parse error, expecting `','' or `';'' in C:\Server\Apache2\htdocs\genericsearchlist.php on line 26
Well, you have a parse error. try this echo "<TR><TD><INPUT TYPE=radio NAME=\"radio\" VALUE=\"$gid\"/></TD><TD><FONT SIZE=2>$system</TD><TD><FONT SIZE=2>$description</TD><TD><FONT SIZE=2>$partno</TD></TR>"; PHP: