2016-07-02 24 views
2

while文で2つの異なるクエリを使用してPHPで連想配列を作成するにはどうすればよいですか?PHP Assoc配列の2つのクエリ

つのクエリは、私はそのカテゴリ内の記事の

「カテゴリー」=>番号のようになり、これを変換したいここでは、すでにwhile文でなければならないの配列を使用せずにコードだ

現在のコード:$ GetBlog-> CategoryQueryへの参照のために

<?php while ($gC = mysqli_fetch_object($GetBlog->CategoryQuery)){ 
     $GetCategoryNum = mysqli_num_rows(mysqli_query($db, "SELECT * FROM BlogPosts WHERE BlogID='$GetBlog->ID' AND CategoryID='$gC->ID'"));?> 
     <h6 class="blog-cats"> 
     <?php echo $gC->Name . " "; ?> (<a href="/Blogs/?ID=<?php echo $GBID;?>&CatID=<?php echo $gC->ID;?>"><?php echo $GetCategoryNum;?></a>) 
     </h6><br> 
     <? } ?> 

、ここでのクエリです:

mysqli_query($db, "SELECT * FROM BlogCategories"); 

申し訳ありません申し訳ありませんが、カテゴリテーブルと投稿テーブルの2つの異なるテーブルがあります。投稿テーブルは各行に投稿のカテゴリを記録していますので、特定のブログに関連付けられているそのカテゴリの投稿の数

答えて

0

それは、ただ単にwhileループの前にarrayを定義し、配列のキーと値のペアを使用して、配列内の値を追加し、非常に簡単です。このよう

<?php 
     $carArray=array(); 
     while ($gC = mysqli_fetch_object($GetBlog->CategoryQuery)){ 
     $GetCategoryNum = mysqli_num_rows(mysqli_query($db, "SELECT * FROM BlogPosts WHERE BlogID='$GetBlog->ID' AND CategoryID='$gC->ID'"));?> 
     <h6 class="blog-cats"> 
     <?php 
      $carArray[$gC->ID]=$GetCategoryNum; 
      // Adding values in array where $gC->ID(Category ID) is the key and $GetCategoryNum is value. 
     ?> 
     <?php echo $gC->Name . " "; ?> (<a href="/Blogs/?ID=<?php echo $GBID;?>&CatID=<?php echo $gC->ID;?>"><?php echo $GetCategoryNum;?></a>) 
     </h6><br> 
     <? } ?> 

<?php print_r($carArray); // Just for checking final result. ?> 
関連する問題