如果结果数量大于正确输入的总损失,则从列表中减去一个。例如:找到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'];
提前感谢您的帮助。
答案 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循环时,您将从第二条记录上的结果集指针开始。