Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在循环中选择表和循环_Php_Html_Mysql - Fatal编程技术网

Php 在循环中选择表和循环

Php 在循环中选择表和循环,php,html,mysql,Php,Html,Mysql,[编辑3] 我试过下面的代码,但在主表中只得到一行 <?php include ("config.php"); $results = $mysqli->query ("SELECT transaction_id FROM orders_list WHERE customer_name = 'Al Kasih' ORDER BY id"); if ($results) { while($obj = $results->fetch_object())

[编辑3]

我试过下面的代码,但在主表中只得到一行

<?php
include ("config.php");
$results = $mysqli->query
("SELECT transaction_id FROM orders_list WHERE customer_name = 'Al Kasih' ORDER BY id");            
if ($results) {
    while($obj = $results->fetch_object()) {
        echo '<div>';
        echo '<ul>';            
        echo '<li>'.$obj->transaction_id.'</li>';
                $thisthat=$obj->transaction_id;         
                $results = $mysqli->query
                            ("SELECT transaction_id, items, quantity, one_product_price FROM orders_history
                              WHERE transaction_id = '$thisthat'");         
                if ($results) {
                    while($obj = $results->fetch_object()) {
                        echo '<ul>';
                        echo '<li>'.$obj->items.'</li>';
                        echo '<li>'.$obj->quantity.'</li>';
                        echo '<li>'.$obj->one_product_price.'</li>';
                        echo '</ul>';
                    }
                }                                       
        echo '</div>';
        echo '</ul>';
    }
}
?>
而在会员购物车表中,它将仅显示指定的客户及其唯一id购物车

 -------------------------------------------
 id_cart         customer        payment       
 -------------------------------------------
  0001           Klaudia         creditcard     
  0002           Klaudia         paypal        
  0003           MyFather        Transfer      
  0004           MyMother        Transfer      
 -------------------------------------------
在名为Klaudia的客户帐户页面中,我想显示基于id_cart的所有订单历史记录

 -----------------------------------------------------------------------
 id_cart         products        quantity       invoices     status
 -----------------------------------------------------------------------
                 this               2             $20        delivered
  0001           that               1             $20        pending
                 those              2             $20        approved
 -----------------------------------------------------------------------
                 this               2             $20        delivered
  0002           that               1             $20        pending
                 those              2             $20        approved
 -----------------------------------------------------------------------
如何在查询中进行制作/选择,以使Klaudia页面帐户中的结果返回如下。我仍在学习如何加入这个团队

注意:购物车id是唯一的,因为它实际上是将发送到数据库表的日期/月/年/小时/秒/毫秒的隐藏输入



////////[更新]///////////////

首先,我要选择表格

 SELECT order_list.id_cart,
       order_list.products,
       order_list.quantity,
       order_list.invoices,
       order_list.status,
 FROM order_list, member_carts
 WHERE order_list.id_cart = member_carts.id_cart
 AND member_carts.customer = 'Klaudia';

然后检索查询:

 $id_cart  = $row['$id_cart'];
 $products = $row['$products'];
 $quantity = $row['$quantity'];
 $invoices = $row['$invoices'];
 $status   = $row['$status'];

现在最复杂的部分是如何循环


识别车
产品
量
发票
地位
?php echo$id\u购物车?
?php echo$产品?
?php echo$数量?
?php echo美元发票?
?php echo$状态?
产品循环
数量循环
发票循环
地位循环
产品循环
数量循环
发票循环
地位循环

查询获取您的数据:

SELECT      * 
FROM        order_list ol
JOIN        member_carts mc 
    ON      ol.id_cart = mc.id_cart
WHERE       customer = 'Klaudia'
ORDER BY    ol.id_cart
//更新

对于计算购物车中的行,可以使用以下代码:

$cart_items_count = array();
for($result as $row) {
  if(!isset($cart_items_count[$row['cart_id']]) {
    $cart_items_count[$row['cart_id']] = 0;
  }
  $cart_items_count[$row['cart_id']]++;
}
对于显示数据:

<table width="780" border="1">
  <tr>
    <td width="134">id_cart</td>
    <td width="173">products</td>
    <td width="155">quantity</td>
    <td width="135">invoices</td>
    <td width="149">status</td>
  </tr>
  <?php $current_cart_id = null; ?>
  <?php foreach($results as $row): ?>
  <?php
    $id_cart  = $row['$id_cart'];
    $products = $row['$products'];
    $quantity = $row['$quantity'];
    $invoices = $row['$invoices'];
    $status   = $row['$status'];
  ?>
  <tr>
    <?php if($id_cart != $current_cart_id): ?>        
      <td rowspan="<?php echo $cart_items_count[$id_cart] ?>"><?php echo $id_cart ?></td>
      <?php $current_cart_id = $id_cart; ?>
    <?php endif; ?>
    <td> ?php echo $products ? </td>
    <td> ?php echo $quantity ? </td>
    <td> ?php echo $invoices ? </td>
    <td> ?php echo $status ? </td>
  </tr>
  <?php foreach; ?>
</table>

识别车
产品
量
发票
地位
和不带“连接”的变体:

请尝试以下查询:

SELECT      * 
FROM        order_list AS ol 
WHERE       ol.id_cart IN   (
                                SELECT  id_cart 
                                FROM    member_carts 
                                WHERE   customer = 'Klaudia'
                            ) 
ORDER BY    id_cart ASC

SQL查询

选择订单列表.id\u购物车,
订购产品清单,
订单数量,
订单清单、发票、,
订单列表状态,
从订单列表,会员车
其中order\u list.id\u cart=member\u carts.id\u cart
会员卡客户='Klaudia';

此查询将解决您的问题…

您想通过php选择并使用它吗?@cuSK Yes首先我想选择它,以便通过phpwait显示它。一分钟后,我正在准备一个适合您需要的php代码。@cuSK非常感谢您的时间。迫不及待:)我想你得到了和我回答的相同的答案…克劳迪亚,你应该计算每个购物车中要显示表的产品数量,在循环中,你必须有当前的购物车id。当购物车id更改时,你应该显示购物车信息。在html表中,它是唯一的,但每一行都与购物车id相连。请检查我的答案并尝试此操作。实际上,购物车id不是数据库表中行的id。cart_id将由隐藏输入中javascript中的datetime生成,因此它是唯一的。我会检查你的答案。我会更新我的答案。也许这可以解决你的问题。你能帮我如何不循环id_购物车,而只循环其他购物车吗。您的SQL查询工作起来很有魅力。但现在我需要更多。谢谢
SELECT ol.id_cart
      ,ol.products
      ,ol.quantity
      ,ol.invoices
      ,ol.status
  FROM order_list ol
      ,member_carts mc
 WHERE ol.id_cart = mc.id_cart
  AND mc.customer = 'Klaudia'
SELECT      * 
FROM        order_list AS ol 
WHERE       ol.id_cart IN   (
                                SELECT  id_cart 
                                FROM    member_carts 
                                WHERE   customer = 'Klaudia'
                            ) 
ORDER BY    id_cart ASC