【问题标题】:Two Queries in PHP Assoc ArrayPHP Assoc 数组中的两个查询
【发布时间】:2016-11-04 13:51:14
【问题描述】:

如何在 PHP 中使用 while 语句中的两个不同查询创建关联数组?

一个查询必须已经在while语句中,这是不使用数组的代码,我想将其转换为类似

“类别” => 该类别中的帖子数

当前代码:

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

对于$GetBlog->CategoryQuery的参考,这里是查询:

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

对不起,如果这没有意义,有两个不同的表,类别表和帖子表,帖子表在每一行中记录帖子的类别,这就是为什么我需要一个while循环来确定帖子的数量在与特定博客关联的类别中。

【问题讨论】:

    标签: php mysql arrays


    【解决方案1】:

    这很简单,只需在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.  ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      相关资源
      最近更新 更多