2016-12-03 35 views
0

我想从使用php的mysql中的单个查询中获取两组数据。 下面的方法一次获取一行,但我想一次获取两行。在使用mysql的循环中一次获取两行php

$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 } ?> 

我找不到方法或任何线索。请提供建议。 谢谢。

+0

请解释这个 –

+0

的目的,以及我正在一个博客显示在一个时间显示2条记录的页面上工作。 – Adas

+1

只需在您的“SELECT”查询中添加一个“LIMIT 2”并遍历结果集。 –

回答

1

从您的评论,

...我想表明的博客喜欢这里,homehero.org/blog,如果你检查元素,你会看到2“博客员额”重复每一个“行”。

你必须使用一个计数器变量来跟踪的许多博客文章是如何被显示在每一行。所以,你的代码应该是这样的:

$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; 
} 
1

我不知道有一种方法比在查询中使用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; 
?> 

我只是看看https://www.homehero.org/blog这@Rajdeep保罗提到。这是关于布局,这意味着你可以用CSS来做,而不是用PHP中的条件。做CSS方式比在PHP中创造条件要容易得多。