MDanz Posted February 7, 2010 Share Posted February 7, 2010 i have multiple entries starting with the letter 'a' .. but the query below only displays one result. this is an index/directory but is only displaying one result for that letter. <?php mysql_connect("localhost", "Master", "pword"); mysql_select_db("db"); $letter = htmlentities($_GET['search']); $user = mysql_query("SELECT * FROM Stacks WHERE keywords LIKE '$letter%' ORDER BY keywords")or die (mysql_error()); $words_output = array(); while($rowz = mysql_fetch_array($user)){ $keyword = $rowz['keywords']; $name = $rowz['name']; $bad = mysql_query("SELECT * FROM Stacks WHERE keywords LIKE '$letter%' ORDER BY keywords")or die (mysql_error()); $num_rows = mysql_num_rows($bad)or die (mysql_error()); } if ($num_rows == 0) { echo "<font face='Courier New' font size=18px font color=#FF9900>$letter</font><br /><br />"; echo "<font face='Courier New' font size=3px font color=#FBB917>No Stacks</font><br>"; } else { if(!in_array($keyword,$words_output)) { $words_output[] = $keyword; echo "<font face='Courier New' font size=18px font color=#FF9900>$letter</font><br /><br />"; echo "<font face='Courier New' font size=3px font color=#FBB917><a href='stack.php?search=$keyword&submit=Go!' style='text-decoration: none';>$keyword</a></font><br>"; } } ?> Link to comment https://forums.phpfreaks.com/topic/191208-problem-query-displays-one-result/ Share on other sites More sharing options...
MDanz Posted February 7, 2010 Author Share Posted February 7, 2010 also only displays one result, when i use the query with DISTINCT. <?php mysql_connect("localhost", "Master", "pword"); mysql_select_db("db"); $letter = htmlentities($_GET['search']); $user = mysql_query("SELECT DISTINCT keywords FROM Stacks WHERE keywords LIKE '$letter%' ORDER BY keywords")or die (mysql_error()); while($rowz = mysql_fetch_array($user)){ $keyword = $rowz['keywords']; $name = $rowz['name']; $bad = mysql_query("SELECT * FROM Stacks WHERE keywords LIKE '$letter%' ORDER BY keywords")or die (mysql_error()); $num_rows = mysql_num_rows($bad)or die (mysql_error()); } if ($num_rows == 0) { echo "<font face='Courier New' font size=18px font color=#FF9900>$letter</font><br /><br />"; echo "<font face='Courier New' font size=3px font color=#FBB917>No Stacks</font><br>"; } else { echo "<font face='Courier New' font size=18px font color=#FF9900>$letter</font><br /><br />"; echo "<font face='Courier New' font size=3px font color=#FBB917><a href='stack.php?search=$keyword&submit=Go!' style='text-decoration: none';>$keyword</a></font><br>"; } ?> Link to comment https://forums.phpfreaks.com/topic/191208-problem-query-displays-one-result/#findComment-1008143 Share on other sites More sharing options...
khr2003 Posted February 7, 2010 Share Posted February 7, 2010 Put the code for the word display within the while statment of the query and not outside it. like this: <?php mysql_connect("localhost", "Master", "pword"); mysql_select_db("db"); $letter = htmlentities($_GET['search']); $user = mysql_query("SELECT * FROM Stacks WHERE keywords LIKE '$letter%' ORDER BY keywords")or die (mysql_error()); $words_output = array(); while($rowz = mysql_fetch_array($user)){ $keyword = $rowz['keywords']; $name = $rowz['name']; $bad = mysql_query("SELECT * FROM Stacks WHERE keywords LIKE '$letter%' ORDER BY keywords")or die (mysql_error()); $num_rows = mysql_num_rows($bad)or die (mysql_error()); if ($num_rows == 0) { echo "<font face='Courier New' font size=18px font color=#FF9900>$letter</font><br /><br />"; echo "<font face='Courier New' font size=3px font color=#FBB917>No Stacks</font><br>"; } else { if(!in_array($keyword,$words_output)) { $words_output[] = $keyword; echo "<font face='Courier New' font size=18px font color=#FF9900>$letter</font><br /><br />"; echo "<font face='Courier New' font size=3px font color=#FBB917><a href='stack.php?search=$keyword&submit=Go!' style='text-decoration: none';>$keyword</a></font><br>"; } } } ?> Link to comment https://forums.phpfreaks.com/topic/191208-problem-query-displays-one-result/#findComment-1008164 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.