【问题标题】:Select multiple rows from multiple tables and print all withe php while loop从多个表中选择多行并使用 php while 循环打印所有行
【发布时间】:2018-09-16 02:16:55
【问题描述】:

我有 3 张桌子 T1、T2、T3,
因此,在 T1 中,我想选择第一行并从 T2 中选择与 T1 中选择的行相关的行,然后从 T3 中选择与 T2 相关的行如何与 T1 中选择的行有关系,并使用 php 在一个 continer 中打印所有这些循环功能 查看图片了解更多说明

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    根据我对您的问题的理解。这可能是答案

    <?php
    $db = new PDO("mysql:host=localhost", "username", "password");
    
    $q1 = $db->prepare("SELECT * FROM T1");
    $q1->execute();
    $f1 = $q1->fetchAll(PDO::FETCH_ASSOC);
    foreach ($f1 as $f1_items) {
        echo "<tr><td>".$f1['id_cat']."</td></tr>";
        $q2 = $db->prepare("SELECT * FROM T2 WHERE id_cat = ".$f1['id_cat'].";");
        $q2->execute();
        $f2 = $q2->fetchAll(PDO::FETCH_ASSOC);
        foreach ($f2 as $f2_items) {
            echo "<tr><td>\t".$f2['id_tr']."</td></tr>";
            $q3 = $db->prepare("SELECT * FROM T3 WHERE id_tr = ".$f2['id_cus'].";");
            $q3->execute();
            $f3 = $q3->fetchAll(PDO::FETCH_ASSOC);
            foreach ($f3 as $f3_items) {
                echo "<tr><td>\t\t".$f2['id_cus']."</td></tr>";
            }
        }
    }
    ?>
    

    【讨论】:

    • 如果您发现此解决方案与您的解决方案相似,您可以将其标记为答案。但是,如果不是,您可以发布自己的答案并将其标记为答案
    • 我不能接受我自己的回答!!我怎样才能将自己的答案设置为这个问题的解决方案
    • 然后回答你的问题
    【解决方案2】:

    解决了,这是我很高兴的代码 :)

        $ReqFindRows = "SELECT * FROM commandes WHERE commande_status = 0 AND date(commande_le) = CURDATE()";
    $STMTFindRows = $connect->stmt_init();
    if(!$STMTFindRows->prepare($ReqFindRows)){
    echo "No Results";
    }
    else {
    $STMTFindRows->execute();
    $ResultsFindRows = $STMTFindRows->get_result();
    $x = 0;
    while($ArrayCat = $ResultsFindRows->fetch_assoc()){ 
    switch($ArrayCat['commande_importance']){
    case 0 : 
    $importance = 'Normal';
    $bgclas = "bg-blue";
    break;
    case 1 : 
    $importance = 'Urgent';
    $bgclas = "bg-yellow";
    break;
    case 2 : 
    $importance = 'Immediat';
    $bgclas = "bg-red";
    break;
    };
    $prods = array();   
    $GetProductsInCommandeQuery = "SELECT * FROM commandes_produits WHERE commande_id = ?";             
    $GetProductsInCommandeSTMT = $connect->stmt_init();
    if(!$GetProductsInCommandeSTMT->prepare($GetProductsInCommandeQuery)){
    echo $connect->error;
    }
    else {
    $id_toserch = $ArrayCat["commande_id"];
    $GetProductsInCommandeSTMT->bind_param("s", $id_toserch );
    $GetProductsInCommandeSTMT->execute();
    $GetProductsInCommandeResults = $GetProductsInCommandeSTMT->get_result();
    $Prodss = "";
    while($GetProductsInCommandeArray = $GetProductsInCommandeResults->fetch_array()){
    $prods = $GetProductsInCommandeArray["recette_id"];
    $GetSupQuery = "SELECT * FROM commandes_supp WHERE tr_number = ? AND commande_id = ?";
    $GetSupSTMT = $connect->stmt_init();
    if(!$GetSupSTMT->prepare($GetSupQuery)){
    echo $connect->error;
    }
    else {
    $trNumber = $GetProductsInCommandeArray["tr_number"];
    $GetSupSTMT->bind_param("ss", $trNumber, $id_toserch );
    $GetSupSTMT->execute();
    $GetSupResults = $GetSupSTMT->get_result();
    $Supp = "";
    while($GetSupArray = $GetSupResults->fetch_array()){
    $Suppss = $GetSupArray["supp_id"];
    $Supp .= '<p style="color:#F00">'.$Suppss.' </p>';
    }
    }
    $Prodss .=  
    '<tr>
    <td>
    '.$prods.'
    '.$Supp.'
    </td>
    <td>
    A table
    </td>
    <td>
    <button type="button" class="btn btn-sm">Servis</button>
    </td>
    </tr>   ';                                  
    }
    }                   
    ?>
                        <div class="col-xs-6 col-md-4" style="margin-bottom:10px;">
                          <div class="tiket">
                            <div class="tikeheader <?php echo $bgclas ?>">
                              <span class="commandenumber">
                                <i class="fa fa-star iconheader">
                                </i>
                                <?php echo $ArrayCat["commande_id"] ?> A Table
                              </span>
                              <span class="importance">
                                <?php echo $importance?>
                              </span>
                            </div>
                            <div class="tiketbody">
                              <table  class="tiketbodytable">
                                <tbody>
                                  <?php echo $Prodss ?>
                                </tbody>
                              </table>
                            </div>
                          </div>
                        </div>  
                        <?php               
    }
    }
    ?>                      
                      </div>
                    </div>
                  </div>
                </div>
                <?php   
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 2014-11-28
      • 2022-11-02
      • 2021-03-14
      • 2018-07-02
      • 2016-12-28
      • 1970-01-01
      • 2016-08-03
      • 1970-01-01
      • 2011-08-09
      相关资源
      最近更新 更多