Php 在循环中选择表和循环
[编辑3] 我试过下面的代码,但在主表中只得到一行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())
<?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