使用php 5

时间:2016-08-12 09:01:59

标签: php html mysqli

<table class="table table-bordered table-hover table-responsive bgwhite clgray">
          <thead>
            <tr>
              <th class="text-center text-capitalize" width="20">
                No
              </th>
              <th class="text-center text-capitalize">
                idbarang
              </th>
              <th class="text-center text-capitalize">
                Kategori
              </th>
              <th class="text-center text-capitalize">
                Merk
              </th>
              <th class="text-center text-capitalize">
                Foto
              </th>
              <th class="text-center text-capitalize">
                Stok
              </th>
            </tr>
          </thead>
          <?php
            $queryStok  = "SELECT SUM(stok) AS jumlahbarang FROM tabelstok WHERE idjenisusaha=1 GROUP BY idbarang";
            $resultStok = mysqli_query($link,$queryStok);
            $queryStok2 = "SELECT * FROM tabelbarang,tabelmerk WHERE tabelbarang.idmerk=tabelmerk.idmerk";
            $resultStok2= mysqli_query($link,$queryStok2);
            while ($datastok=mysqli_fetch_assoc($resultStok,$resultStok2)) {
          ?>
          <tbody>
            <tr>
              <td class="text-center text-capitalize">
                <?php echo $datastok['merk'] ?>
              </td>
              <td class="text-center text-capitalize">
                No
              </td>
              <td class="text-center text-capitalize">
                No
              </td>
              <td class="text-center text-capitalize">
                No
              </td>
              <td class="text-center text-capitalize">
                No
              </td>
              <td class="text-center text-capitalize">
                <?php echo $datastok['jumlahbarang'];?>
              </td>

          </tbody>
          <?php  }  ?>
        </table>

如何在A SINGLE循环中显示包含2个查询的2个表的结果。

1 个答案:

答案 0 :(得分:1)

  1. 如果要显示两个查询的结果而不写入两个while循环,则应使用mysqli_multi_query()函数一次执行多个查询。每个语句最后都应有一个半音(最后一个语句不应包含semicollon)。您可以根据需要添加任意数量的查询。

    $query  = "YOUR FIRST STATEMENT;";
    $query .= "YOUR SECOND STATEMENT";
    $result = mysqli_multi_query($link, $query);
    do {
        $result = mysqli_store_result($link);
        while ($row = mysqli_fetch_row($result)) {
           // DO YOUR STUFF HERE WITH $row
        }
        mysqli_free_result($result);
    } while (mysqli_next_result($link));
    
  2. 如果要将查询合并为一个,那么如果有一个列连接/关联两个表,那么在构建查询时应使用JOIN。例如:

    SELECT customers.id, customers.name FROM customers
    INNER JOIN details ON customers.id=details.user_id;
    

    这会将details表中的元素与customers表中的元素合并,并通过公共值(客户ID)进行链接。

  3. 由于您没有显示数据库的结构,而且我无法根据您的代码显示示例,只是一般情况。