感谢您的帮助,首先我将展示代码:
$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 ";
我需要获取按contracts(contracts table)
我试着通过在那里搜索解决这个问题,但我不能......如果你请帮助我并解释它是如何工作的,谢谢! :) $pocetZanamu
是记录数。
我需要从表客户那里获取用户(姓名,姓名等),按合约表中的合约数量排序,其中是contract_id,customer_contract(用户ID)..
答案 0 :(得分:0)
这应该是你要计算的列名称。
$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);