-1

当结果数比总损失大一时输入正确,但从列表中减去一。例如:找到 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'];

预先感谢您的帮助。

4

2 回答 2

1

你需要做这样的事情:

$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您知道自己需要它之前,您不会填充它。

于 2012-09-14T20:27:21.863 回答
0

这是因为您正在使用此行上的第一个记录指针:

$goto = mysql_fetch_array($query);

如果你在$results == 1条件内移动这条线,一切都应该正常。

现在,当您进入 while 循环时,您将从已经在第二条记录上的结果集指针开始。

于 2012-09-14T20:26:31.943 回答