[英]fetching two rows at a time in loop using mysql php
我想使用php從mysql的單個查詢中獲取兩組數據。 下面的方法一次獲取一行,但是我想一次獲取兩行。
$qblog = "SELECT * FROM `blogs` WHERE status='1' ";
$qblog1 = mysqli_query($con,$qblog);
while($data = mysqli_fetch_array($qblog1)){
<div><?php echo $data['blog_title'];?></div>
<?php } ?>
我找不到方法或任何線索。 請提供建議。 謝謝。
根據您的評論,
...我想在這里顯示博客,如homehero.org/blog ,如果您檢查元素,您將在每個“行”中看到2個“ blog-post”重復。
您必須使用計數器變量來跟蹤每行顯示多少博客文章。 因此,您的代碼應如下所示:
$qblog = "SELECT * FROM `blogs` WHERE status='1' ";
$qblog1 = mysqli_query($con,$qblog);
$counter = 1;
while($data = mysqli_fetch_array($qblog1)){
if($counter % 3 == 0){
// display the blogspots and style them
}
++$counter;
}
除了在查詢中使用LIMIT 2
,我不確定是否有辦法一次獲取兩行。 您可以添加一些條件以在一次迭代中顯示兩行,但以我的觀點,您需要在其中添加另一個循環while
如下所示:
$qblog = "SELECT * FROM `blogs` WHERE status='1'";
$qblog1 = mysqli_query($con, $qblog);
$post_count = 0;
while($data = mysqli_fetch_array($qblog1)):
if($post_count === 2):
echo "<p>--------------------</p>";
foreach($data_temp as $data_tmp):
?>
<div><?php echo $data_tmp['blog_title'];?></div>
<?php
endforeach;
echo "<p>--------------------</p>";
$post_count = 0;
unset($data_temp);
endif;
$data_temp[] = $data;
$post_count += 1;
endwhile;
?>
我只是看了@Rajdeep Paul提到的https://www.homehero.org/blog 。 這是關於布局的,這意味着您可以使用CSS來實現它,而不必考慮PHP中的條件。 使用CSS方式比在PHP中創建條件要容易得多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.