mullberrymae Posted April 20, 2011 Share Posted April 20, 2011 this is only returning one record, when I know there are more, and it's an endless loop crashing my browser, can someone tell me how my brackets are wrong, or what is wrong? if (isset($_POST['search'])){ $keyword=$_POST['keyword']; } $sql="SELECT id, fname, lname FROM obituaries WHERE lname LIKE '%$keyword%' OR fname LIKE '%$keyword%' ORDER BY id DESC"; $results = mysql_query($sql); $num = mysql_num_rows ($results); if ($num > 0 ) { $i=0; while ($i < $num) { $id = mysql_result($results,$i,"id"); $fname = mysql_result($results,$i,"fname"); $lname = mysql_result($results,$i,"lname"); ?> <a href="view.php?id=<?php echo ($id); ?>"><?php echo($fname); ?> <?php echo($lname); ?></a> <?php } } ?> Thanks in advance Quote Link to comment https://forums.phpfreaks.com/topic/234228-small-search-causing-endless-loop-returning-same-result/ Share on other sites More sharing options...
Muddy_Funster Posted April 20, 2011 Share Posted April 20, 2011 change while ($i < $num) { $id = mysql_result($results,$i,"id"); $fname = mysql_result($results,$i,"fname"); $lname = mysql_result($results,$i,"lname"); ?> <a href="view.php?id=<?php echo ($id); ?>"><?php echo($fname); ?> <?php echo($lname); ?></a> <?php } } to while ($row = mysql_fetch_assoc($result)) { $id = $row['id']; $fname = $row['fname']; $lname = $row['lname']; echo '<a href="view.php?id='.$id.'"><'.$fname.'> <'.$lname.'></a> '; } } Also, you could put some error capture in there to limit the loop to a count of, for example, 100. Quote Link to comment https://forums.phpfreaks.com/topic/234228-small-search-causing-endless-loop-returning-same-result/#findComment-1203879 Share on other sites More sharing options...
mullberrymae Posted April 20, 2011 Author Share Posted April 20, 2011 Well , that ended the loop but now I am only getting one record Quote Link to comment https://forums.phpfreaks.com/topic/234228-small-search-causing-endless-loop-returning-same-result/#findComment-1203889 Share on other sites More sharing options...
Muddy_Funster Posted April 20, 2011 Share Posted April 20, 2011 Then only one record is being returned by the query, try tweeking your sql: $sql="SELECT id, fname, lname FROM obituaries WHERE (lname LIKE '%$keyword%') OR (fname LIKE '%$keyword%') ORDER BY id DESC"; Quote Link to comment https://forums.phpfreaks.com/topic/234228-small-search-causing-endless-loop-returning-same-result/#findComment-1203898 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.