ホームページ >バックエンド開発 >PHPチュートリアル >2 つの DD が同じループ コードを書いた場合、そのうちの 1 つは実行されませんか?
2 つの DD が同じループ コードを書き込み、1 つの DD が空白として表示されます
$ztzs=$dbc->prepare("select * from naszt where 1=1 and zttype='威联通'");$ztzs->execute(); <dd> <?php while($row=$ztzs->fetch()){?> <div class="ztzs"> <a href="ztselect.php?id=<?php echo $row["id"]?>" target="_blank"> <img src="ztImg/<?php echo $row["headimg"] ?>"> </a> <p><?php echo $row['ztname'] ?></p> </div> <?php } ?> </dd> <dd> <?php while($row=$ztzs->fetch()){?> <div class="ztzs"> <a href="ztselect.php?id=<?php echo $row["id"]?>" target="_blank"> <img src="ztImg/<?php echo $row["headimg"] ?>"> </a> <p><?php echo $row['ztname'] ?></p> </div> <?php } ?> </dd>
<?php$ztzs=$dbc->prepare("select * from naszt where 1=1 and zttype='威联通'");$ztzs->execute();?><dd> <?php while($row=$ztzs->fetch()){?> <div class="ztzs"> <a href="ztselect.php?id=<?php echo $row["id"]?>" target="_blank"> <img src="ztImg/<?php echo $row["headimg"] ?>"> </a> <p><?php echo $row['ztname'] ?></p> </div><?php } ?></dd><dd> <?php while($row=$ztzs->fetch()){?> <div class="ztzs"> <a href="ztselect.php?id=<?php echo $row["id"]?>" target="_blank"> <img src="ztImg/<?php echo $row["headimg"] ?>"> </a> <p><?php echo $row['ztname'] ?></p> </div> <?php } ?></dd>
さらに、この方法で 1=1 を植えることができるのはどこですか?
while($row=$ztzs->fetch()) の最初のラウンドの終了時点では、結果セットはすでに空になっています。 (結果セットのポインタは末尾を指します)
したがって、2 番目のラウンドでは出力はありません
結果セットのポインタを先頭にラップする必要があります。
データベースクラスがレコード位置決め機能を提供していない場合は、使用しているデータベースに応じて自分で記述してください。
たとえば、mysql_data_seek
さらに、1=1 はこの方法で植えることができます...
while($row=$ztzs->fetch()) の最初のラウンドの終わりに、結果セットはすでに空です (結果セット ポインターは最後を指します)
したがって、2 番目のラウンドでは出力はありません
結果セット ポインターを先頭にラップする必要があります。
データベースクラスがレコード位置決め機能を提供していない場合は、使用しているデータベースに応じて自分で記述してください。
たとえば、mysql_data_seek soga ありがとうございます