PHP,SQL - 获取表 id = 用户 id 的数据并计算行 = 用户 id 的其他表

标签 php mysql sql

感谢您的帮助,首先我将显示代码:

$dotaz = "Select * from customers JOIN contracts where customers.user_id ='".$_SESSION['user_id']."' and contracts.customer_contract = ".$_SESSION['user_id']." order by COUNT(contracts.customer_contract) DESC limit $limit, $pocetZaznamu ";

我需要获取按契约(Contract)数(契约(Contract)表)排序的用户列表(客户表)

我试图通过在那里搜索来解决这个问题,但我不能......如果你帮助我并解释它是如何工作的,谢谢! :) $pocetZanamu 是记录数。

我需要从客户表中获取用户(姓名等...),按契约(Contract)表中的契约(Contract)数量排序,其中contract_id,customer_contract(用户ID)..

最佳答案

这应该可以完成您正在计算的列名称的位置。

$id = $_SESSION['user_id'] ;
$dotaz = "Select COUNT(`customer_contract`) AS CNT, `customer_contract` FROM `contracts`   WHERE `user_id`=$id GROUP BY `customer_contract` ORDER BY `CNT` DESC";

根据您正在执行的操作,您可能希望将结果存储在数组中,然后单独处理数组中的每个元素。

while ($row =  mysqli_fetch_array($results, MYSQL_NUM)){
  $contracts[$row[1]] = $row[0];
}

foreach ($contracts AS $customer_contract => $count){
  Process each user id code here
}

不确定你在数什么。上面对一个表的 customer_contract 进行了计数,该表的多个记录在 customer_contract 列中包含相同的值。

如果您只想要具有相同 user_id 的记录总数,那么您可以使用:

$dotaz = "Select 1 FROM `contracts`   WHERE `user_id`=$id";
$results = $mysqli->query($dotaz);
$count = mysql_num_rows($results);

关于PHP,SQL - 获取表 id = 用户 id 的数据并计算行 = 用户 id 的其他表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27809391/

相关文章:

php - 无需 Ajax 的 SilverStripe GridField 下载链接

php - 添加更多条件以在 mysql - 谷歌地图中查找附近的地点

php - 丢失第二页上的数据库 session 数据

mysql - SQL:INNER JOIN SELECT 使整个查询不返回任何内容

MySQL 删除值如果存在于另一行

PHP 输出中每个单词的首字母大写

php - 如何从 WooCommerce 子类别产品计数中删除括号

基于 2 个表的 PHP 输出摘要。

PHP AND 子句不显示结果,但 OR 是

php - plUpload - 服务器端错误未显示