当结果数量比总损失大一时,正确输入总损失,但从列表中减去一。例如:找到12个结果,但只列出了11个:
$goto = mysql_fetch_array($query);
$results = mysql_num_rows($query);
if($results == 1){
header('Location: movie.php?id='.$goto['id']);}
echo '<p><h2>Results for search "'.$_GET["search"].'": </h2></p>';
echo '<hr />';
echo "Found ".$total." result(s).</p><br>";
echo '<ol class="list">';
while ($resultado = mysql_fetch_assoc($query)) {
$titulo = $resultado['title'];
echo '<li>';
$link = 'http://localhost/lab/movie.php?id=' . $resultado['id'];
提前感谢您的帮助。
您需要这样做:
$results = mysql_num_rows($query);
if($results == 1){
$goto = mysql_fetch_array($query);
header('Location: movie.php?id='.$goto['id']);}
}
echo '<p><h2>Results for search "'.$_GET["search"].'": </h2></p>';
echo '<hr />';
echo "Found ".$results." result(s).</p><br>";
echo '<ol class="list">';
while ($resultado = mysql_fetch_assoc($query)) {
您的代码从一开始就获得第一条记录,如果有多个条目,则循环遍历其余记录——对第一条进行装箱。这样,在您知道需要$goto
之前,您不会填充它。
这是因为您正在使用此行上的第一个记录指针:
$goto = mysql_fetch_array($query);
如果在$results == 1
条件中移动这一行,则一切都应该正常。
现在,当您进入while循环时,您将从第二条记录上的结果集指针开始。