php - 选择所有客户以及每个客户的总订单

标签 php mysql select join

对于每个客户,我想返回:ID、姓名、地址、城市、上限、国家/地区和订单总数。表名称为:customers(10 条记录)和orders(20 条记录)

我已经尝试过这段代码,但它不起作用

<?php
$conn = mysqli_connect('127.0.0.1','...','...','...') or die("Connection failed: " . $conn->connect_error);

$select = mysqli_query($conn,"SELECT customers.id,customers.name,customers.address,customers.city,customers.cap,customers.country COUNT(customerid) as TotalOrders FROM customers LEFT JOIN orders GROUP BY customer.id");

while($row = mysqli_fetch_array($select,MYSQLI_ASSOC))
{
    $tb = <<<table
    ...{$row['totalorders']}...
    table;
    echo $tb;
}
mysqli_free_result($select);

echo $num_record = mysqli_affected_rows($conn);

$conn->close();
?>

最佳答案

所以像...

<?php
include('../path/to/connection/stateme.nts');

$query =
"
SELECT c.id
     , c.name
     , c.address
     , c.city
     , c.cap
     , c.country 
       COUNT(o.customerid) TotalOrders 
  FROM customers c
  LEFT 
  JOIN orders o
    ON o.customerid = c.id
 GROUP  
    BY c.id;
";


$result = mysqli_query($db,$query); ** where $db is something like mysqli_connect("myhost", "myusername", "mypassword");

while($row = mysqli_fetch_assoc($result))
{
$tb = <<<table
...{$row['totalorders']}...
table;
echo $tb;
}

mysqli_free_result($result);

echo $num_record = mysqli_affected_rows($db);

$db->close();
?>

(我不是 php 编码员)

关于php - 选择所有客户以及每个客户的总订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26780974/

相关文章:

php - 当您绝对必须在 CakePHP 3.4.7 中手动转义 SQL 时

php - 如何防止 PHP 中的 SQL 注入(inject)?

javascript - 如何在不清除选择控件的情况下突出显示鼠标悬停

php - MySQL:使用不同的条件更新不同的列

php - 在 mysql 数据库中搜索结果包含部分匹配的字符串

php - 如何在php页面中添加文本

快速用户通知点击

php - 我的自定义 php 函数有问题

java - MySQL关于重复键更新的PreparedStatement

SQL SELECT 多列合二为一