Jump to content

small search causing endless loop returning same result


mullberrymae

Recommended Posts

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

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.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.