[英]php - counting number of values in an array
我目前正在尝试计算一个特定价格范围内有多少个属性,并且我正在运行的查询仅返回值1。显然我做错了-这并不能帮助MySQL / PhP精明..有人愿意帮忙吗?
查询如下:
$apart = $wpdb->get_var("SELECT m1.post_id
FROM hj_postmeta m1
INNER JOIN hj_postmeta m2 ON m1.post_id = m2.post_id
WHERE m1.meta_key = 'price'
AND m1.meta_value
BETWEEN 50000 AND 74999 AND m2.meta_key = 'property_type'
AND m2.meta_value = 'apartment'");
$apartprice = count($apart);
提前谢谢了。
使用get_results
作为get_var
函数从数据库返回一个变量 :
$apart = $wpdb->get_results("SELECT m1.post_id
FROM hj_postmeta m1
INNER JOIN hj_postmeta m2 ON m1.post_id = m2.post_id
WHERE m1.meta_key = 'price'
AND m1.meta_value
BETWEEN 50000 AND 74999 AND m2.meta_key = 'property_type'
AND m2.meta_value = 'apartment'");
$apartprice = count($apart);
或COUNT个都使用get_var
:
$apart = $wpdb->get_var("SELECT COUNT(m1.post_id)
FROM hj_postmeta m1
INNER JOIN hj_postmeta m2 ON m1.post_id = m2.post_id
WHERE m1.meta_key = 'price'
AND m1.meta_value
BETWEEN 50000 AND 74999 AND m2.meta_key = 'property_type'
AND m2.meta_value = 'apartment'");
$apartprice = $apart;
只要您直接对行数感兴趣:
$apart = $wpdb->get_var("....");
$apartprice = $wpdb->num_rows;
但是,我认为Mihai Iorga的答案提出了两个很公平的观点,如果您需要获取所有数据或(实际上,也正如juergen d所评论的那样)数据库中的计数(如果您实际上不处理该变量旁边的结果集)的话,会提出两个非常公平的观点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.