Php 计算MYSQL数据库中的结果数

Php 计算MYSQL数据库中的结果数,php,mysql,codeigniter,Php,Mysql,Codeigniter,我想知道计算mysql返回结果数量的正确方法 这是我从表中获取数据的代码 $bids = $this->db->query("SELECT bidID,listingID, listing_title, bid_date, username, vintage, starting_, bin, amount, sold, sold_date, bid_type FROM bids JOIN listings ON listingID = bid_listing JOIN users

我想知道计算mysql返回结果数量的正确方法

这是我从表中获取数据的代码

$bids = $this->db->query("SELECT bidID,listingID, listing_title, bid_date, username, vintage, starting_, bin,
amount, sold, sold_date, bid_type 
FROM bids

JOIN listings ON listingID = bid_listing
JOIN users ON list_uID = userID

ORDER BY bidID DESC");

$bids = $bids->result();
$data['bids'] = $bids;
然后我运行foreach来打印数据。例如:

  <?$i = "0"; foreach ($bids as $l): ?> <? echo $l->listing_title;?> 

然后,我想在列表标题后添加出价/结果的数量


谢谢

您可以针对您的问题尝试以下解决方案:

$bids = $this->db->query("SELECT bidID,listingID, listing_title, bid_date, username, vintage, starting_, bin,
amount, sold, sold_date, bid_type 
FROM bids

JOIN listings ON listingID = bid_listing
JOIN users ON list_uID = userID

ORDER BY bidID DESC");

$bids = $bids->result();
$no_0f_bids = $bids->num_rows();
$data['bids'] = $bids;
$data['no_0f_bids'] = $no_0f_bids;
然后,您可以打印视图文件中的投标编号

<?php  
echo "No of Bids : ".$no_0f_bids;
foreach ($bids as $l):
    echo $l->listing_title;
endforeach;
?> 

您可以访问此链接以获取更多信息

我希望这会有所帮助。

试试这个:

$bids = $this->db->query("SELECT SQL_CALC_FOUND_ROWS bidID,listingID, listing_title, bid_date, username, vintage, starting_, bin, amount, sold, sold_date, bid_type FROM bids JOIN listings ON listingID = bid_listing JOIN users ON list_uID = userID ORDER BY bidID DESC");

$total = $this->db->query("SELECT FOUND_ROWS() as total");
$data['bids'] = $bids->result();
$data['bids_total'] = $total->row()->total;


您应该有
$db->RecordCount()

此函数将返回您想要的计数。

尝试使用codeigniter活动记录

public function count() {
  $this->db->select('*');
  $this->db->from('bids');
  $this->db->join('listings', 'listings.listingID = bids.bid_listing', 'LEFT');
  $this->db->join('users', 'users.userID = listings.list_uID', 'LEFT');
  $query = $this->db->get();

  return $query->num_rows();
}

echo $this->count();

count($bids)
?@majidouladpour看起来他没有在使用
mysqli
。它没有
result()
方法。@Barmar,什么是
$bids=$bids->result()
then?看起来像CodeIgniter。我最初尝试了类似的方法,我刚刚测试了你的,我得到了相同的错误:在非对象上调用成员函数num_rows(),我将如何回显上述内容?传递数据数组以查看只需使用echo$bids_total;好了,开始工作了!但是,按bidID DESC)订购,而不是按bidID订购-如何按出价最多的人订购?从bids表
$data['bids_total'] = count($data['bids']);
public function count() {
  $this->db->select('*');
  $this->db->from('bids');
  $this->db->join('listings', 'listings.listingID = bids.bid_listing', 'LEFT');
  $this->db->join('users', 'users.userID = listings.list_uID', 'LEFT');
  $query = $this->db->get();

  return $query->num_rows();
}

echo $this->count();