doulu8847 2019-01-18 07:25
浏览 32

根据来自不同表的id计算所有行

I want to count the photo based on product id. I think there is something to do in loop counting. So I coded as following but I got

Fatal error: Call to a member function fetch_assoc() on a non-object

<?
include_once($_SERVER['DOCUMENT_ROOT']."/cgi-bin/connect.php");

$stmt=$mysqli->prepare("select * from products_db order by prd_id");
$stmt->execute();
$result=$stmt->get_result();
$data=array();
while($row=$result->fetch_assoc()){
    //count no. of img in loop
    $stmt=$mysqli->prepare("select pic_id from photo_db where pic_sid=?");
    $stmt->bind_param('s',$row['prd_sid']);
    $result=$stmt->get_result();
    $nPic=$result->num_rows;

    $data[]=array($row['prd_code'],$row['prd_en'],$row['cat_id'],
number_format($row['prd_cost']),$row['prd_stts'],$nPic,$row['prd_rcm']);
}
echo json_encode(array('data' => $data));
?>

Then I do :

$stmt=$mysqli->prepare("select *,count(pic.pic_id) as npic 
from products_db prd 
inner join 
photo_db pic 
on prd.prd_sid=pic.pic_sid 
order by prd.prd_id");

It's working BUT SOME PRODUCTS WAS UNSHOWN BECAUSE NO RELATED pic_sid FROM photo_db

I want all product display the photo count even there's none of them existed in DB.

  • 写回答

2条回答 默认 最新

  • dsv768456 2019-01-18 08:00
    关注

    Try this query I hope it will work.

    select count(pi.pic_id),pr.* from photo_db pi where pi.pic_sid in (select pr.prd_sid from products_db pr ) group by pi.pic_id
    
    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算