如何计算joomla中SQL查询的行数并显示?

Nin*_*ino 5 php sql joomla

我的SQL查询是这样的:

SELECT COUNT(*) AS NumberOfOrders FROM table_products where published = 1;
Run Code Online (Sandbox Code Playgroud)

Joomla使用Jdatabase来玩表。我在互联网上找到了这个:

$db = JFactory::getDbo(); 
 $query = $db->getQuery(true); 
 $query->select(array('name', 'email', 'username')) 
   ->from($db->quoteName('#__my_users')) 
   ->where($db->quoteName('name') . ' LIKE '. $db->quote('\'%SMITH%\'')); 
 $db->setQuery($query); 

 // get the count 
 $my_count = $db->getNumRows(); 

 // retrieve the data 
 $rows = $db->loadObjectList(); 

 echo $my_count; 
Run Code Online (Sandbox Code Playgroud)

因此,我尝试为查询修改此示例:

$db = JFactory::getDbo(); 
 $query = $db->getQuery(true); 
 $query->select(array('id')) 
   ->from($db->quoteName('#__table_products')) 
   ->where($db->quoteName('published') . ' LIKE '. $db->quote('1')); 

 $db->setQuery($query); 

 // get the count 
 $my_count = $db->getNumRows(); 

 // retrieve the data 
 $rows = $db->loadObjectList(); 
Run Code Online (Sandbox Code Playgroud)

但这是行不通的。我得到空结果。怎么了?

有人可以帮我吗?

问候

Alw*_*nny 2

尝试用这种方法来计算行数,但我不确定

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('COUNT(*)');
$query->from($db->quoteName('#__table_products'));
$query->where($db->quoteName('published') . ' LIKE '. $db->quote('\'%1%\''));

$db->setQuery($query);
$count = $db->loadResult();
Run Code Online (Sandbox Code Playgroud)

查看更多: https: //docs.joomla.org/Selecting_data_using_JDatabase