2016-12-03 6 views
0

PHPを使用してmysqlから1つのクエリで2つのデータセットをフェッチしたいとします。 以下のメソッドは一度に1行をフェッチしますが、一度に2行をフェッチします。mysql PHPを使用してループ内で一度に2行をフェッチする

$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

私はブログが一度に2つのレコードを表示するような方法で表示されているページに取り組んでいます。この –

+0

の目的を説明してください。 – Adas

+1

'SELECT'クエリで' LIMIT 2'を追加し、結果セットをループしてください。 –

答えて

1

は...私はあなたが要素を調べる場合は、2「ブログ記事は」すべての「行」に繰り返されるでしょう、homehero.org/blog、ここのようなブログを表示したいです。

カウンタ変数を使用して、各行に表示されているブログ投稿の数を追跡する必要があります。だからあなたのコードは次のようにする必要があります:

$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を使用するよりも、他の時間に2つの行を取得する方法があるかわかりません。あなたは1回の繰り返しに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たhttps://www.homehero.org/blogで見ていましたポールは言いました。それはあなたがPHPで条件のために行くのではなく、CSSでそれを行うことができるレイアウトについてです。 CSSのやり方は、PHPで条件を作るのではなく、ずっと簡単です。

関連する問題