2017-06-14 5 views
0

私はしばらくの間、データベース情報でテーブルを埋めますが、行が存在するのと同じくらい頻繁に最大です。 5つの以上の行がある場合は5回には、この1つは、テーブルにデータはデータベースに格納されているが、データは最大であるが、 5回

while($row = $statement->fetch()) { 
    echo "<tr>"; 
    echo '<td><a href="http://example.com/'.$row['id'].'">example.com/'.$row['id'].'</a></td>'; 
    echo "</tr>"; 
} 

あるすべてのものを出力し、この1つは5回、それを出力しますが、何も

for($i=1; $i <= 5; $i++; &&$row = $statement->fetch()) { 
    echo "<tr>"; 
    echo '<td><a href="http://example.com/'.$row['id'].'">example.com/'.$row['id'].'</a></td>'; 
    echo "</tr>"; 
} 
I hav 
が存在しない場合でも、ショーの詳細ボタン をエコーすべきです

eはmysqli_num_rowsで何かをしようとしたが、それはあまりにも

答えて

1

は、クエリを改正し、それの最後にLIMIT 5を追加動作しませんでした。これはMAXの5行を返します。これは、where句を満たす行が少なくなった場合には少なくなります。これにより、1000行が返され、5行しか使用されなくなり、無駄なネットワークトラフィックが減ります。

次に、whileループを使用すると、すべての結果セットを消費するため、消費する行は5つ以上になりません。あなたのコメントへ

while($row = $statement->fetch()) { 

回答:

私はあなたのクエリの末尾にLIMIT 5を入れて言いましたの!

$statement = $pdo->prepare("SELECT * 
          FROM link 
          WHERE userid= $uid 
          AND only = 'true' 
          LIMIT 5"); 
+0

$ statement = $ pdo-> prepare( "SELECT * FROM LIMIT 5 WHERE' userid' = $ uidと 'only' = 'true'");今何も出力していません –

+0

心配しないで、すべてが動作します:)ありがとう! –

+0

答えをplzとして受け入れる – Naruto

関連する問題