重定向给出错误的结果列表

时间:2012-09-14 20:22:02

标签: php

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

提前感谢您的帮助。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

这是因为你在这一行上用完了你的第一个记录指针:

$goto = mysql_fetch_array($query);

如果你在$results == 1条件内移动这一行,一切都应该可以正常工作。

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