-1

結果の数が合計損失より1多い場合は正しく入力されますが、リストから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 ループに到達すると、既に 2 番目のレコードにある結果セット ポインターから開始されます。

于 2012-09-14T20:26:31.943 に答える