从技术上讲,mysql_query根本没有显示任何内容。它只是从数据库中查询您的数据,并使其可以在本地访问,以便根据您的需要进行处理。因此,您实际上必须更改内容的地方在于您的显示代码。它可以像下面这样按照您的意愿工作。
我有一个mysql表,其中包含我的cart数组中的项目,例如item_id、size、quantity,它们每行都有一个订单号,所以如果我有3个项目,那么这三行的订单id将为2。还有另一个名为订单的表,它保存了这些项目的订单号、名称、地址等。我希望能够打印出每个订单号和与该订单号匹配的项目,但它会重复订单号并打印三次,我可以只拥有订单号吗:1然后是下面的三个项目?
此查询确实打印出正确的信息,但显示订单ID 3次
$sql = mysql_query("SELECT transactions.*, orders.orderid, orders.date
FROM transactions
LEFT JOIN orders
ON transactions.orderid=orders.orderid
WHERE orders.userid = '$userID'");
first = true;
while ($row = mysql_fetch_assoc($sql)){
if (first){
// put everything that shall only be written once here.
echo $row["orderid"];
first = false;
}
// put everything that shall be written for every row here.
echo $row["date"];
}
基于FlyingFoX的示例
$currentOrderId = 0;
while ($row = mysql_fetch_assoc($sql)){
if ($currentOrderId != $row["orderid"]){
// put everything that shall only be written once here.
echo $row["orderid"];
$currentOrderId = $row["orderid"];
}
// put everything that shall be written for every row here.
echo $row["date"];
}