所以我有一个名为 posting_ads 的mysql表我想在网站上显示一个统计数据,即发布的广告数量。
还有两种类型的广告 type1 和 type2 这些广告位于同一个mysql表格的列中,名为 ad_type
所以问题是什么是最短的PHP代码来显示数字,例如:
第1类广告的数量= XXX(例如:500) 类型2广告的数量= XXX
XXX是广告(行)的数量
我确实有效的代码是......
<?php $result = mysql_query("select count(1) FROM posted_ads"); $row = mysql_fetch_array($result); $total = $row[0]; echo "Number of ads " . $total; ?>
但是,我想显示2个不同的统计数据,一个显示第1类广告的数量和第2类广告的数量。该表中有一列名为“ad_type”,其值为“type 1”或“type 2”
----我解决了---- 感谢你的帮助。但我现在已经明白了。我使用2位代码,每种广告类型对应一个代码如下:
<?php $result = mysql_query("select count(1) FROM posted_ads WHERE ad_type = 'type1';");
$row = mysql_fetch_array($result);
$total = $row[0];
echo "Number of type 1 ads" . $total; ?>
<?php $result = mysql_query("select count(1) FROM posted_ads WHERE ad_type = 'type2';");
$row = mysql_fetch_array($result);
$total = $row[0];
echo "Number of type 2 ads" . $total; ?>
答案 0 :(得分:2)
这可能会有所帮助:
SELECT COUNT(*) FROM posted_ads GROUP BY ad_type
答案 1 :(得分:0)
你可以在你的结果上运行mysqli_num_rows
,这会给你总数,如下所示。请注意,类型1进程和类型2进程是相同的,1只使用所有一行(您请求的代码更短),类型2更容易理解。
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASS) or die("Couldn't make connection.");
$db = mysqli_select_db($link, DB_NAME) or die("Couldn't select database");
$Type1Total = mysqli_num_rows(mysqli_query($link, "SELECT `ad_type` FROM `posted_ads` WHERE `ad_type` = 'type1'"));
$Type2Query = "SELECT `ad_type` FROM `posted_ads` WHERE `ad_type` = 'type2'";
$Type2Result = mysqli_query($link, $Type2Query);
$Type2Total = mysqli_num_rows($Type2Result);
然后相应地输出总数
echo "number of type 1 ads = " . $Type1Total . "<br> " number of type 2 ads = " . $Type2Total;
有关该主题的更多阅读here