PDA

View Full Version : اشكال در خروجي SELECT



lm48390
یک شنبه 22 اسفند 1389, 08:20 صبح
با سلام و خسته نباشيد
من دو تا جدول دارم به نامهاي customer و order.‌فيلد مشترك اين دو جدول، cust_id در order و id در customer است.
مي خواهم اسامي مشتريان و تعدادسفارشان را در خرو جي داشته باشم. با در نظر گرفتن اينكه يك مشتري ممكن است سفارشي نداشته باشد از دستور left join استفاده كرده ام. دستور در phpmyadmin درست است و ستون cnt تعداد سفارشات را نمايش مي دهد ولي همين دستور در php، درست كار نمي كند و ستون cnt را صفر بر مي گرداند.


$re1=$db->query("SELECT t1.name, t1.id, t1.family, count( t2.cust_id ) AS cnt
FROM customer AS t1
LEFT OUTER JOIN order AS t2 ON t1.id = t2.cust_id
GROUP
BY t1.id" ");
$nr = $re1->num_rows();
if($nr>0){

echo '[';
$row1=$re1->fetch_array();
echo "['".$row1[cnt]."','".$row1[name]."','".$row1[family]."','".$row1[id]."']";
while($row1=$re1->fetch_array()){
echo ",['".$row1[cnt]."','".$row1[name]."','".$row1[family]."','".$row1[id]."']";
};
echo '[';

{

mtchabok
یک شنبه 22 اسفند 1389, 10:28 صبح
ببخشید اینو می پرسم ... این کدی نوشتید مطمئنید که کار میکنه ؟
این رو امتحان کنید ببینید مشکلتون حل میشه ...

re1=$db->query("SELECT t1.name, t1.id, t1.family, count( t2.cust_id ) AS `cnt`
FROM `customer` AS `t1`
LEFT JOIN `order` AS t2 ON t1.id = t2.cust_id
GROUP BY `t1`.`id`");
$nr = $re1->num_rows();
if($nr>0){
echo '[';
while($row1=$re1->fetch_array()){
echo ",['".$row1['cnt']."','".$row1['name']."','".$row1['family']."','".$row1['id']."']";
}
echo ']';
}