我使用此代码显示数据库中的类别
$select_newscats = $mysqli->query("SELECT * FROM news_cats order by ord_show asc");
while ($rows_newscats = $select_newscats->fetch_array(MYSQL_ASSOC)){
$id_newscats = $rows_newscats ['id'];
$title_newscats = $rows_newscats ['title'];
$ord_show_newscats = $rows_newscats ['ord_show'];
$icon_newscats = $rows_newscats ['icon'];
$kind_newscats = $rows_newscats ['kind'];
$description_newscats = $rows_newscats ['description'];
//here is my data
}
我在新闻表行中为categoies它的名字是猫,我在其中插入数据1,5,6,8
我使用此代码来计算每只猫内的新闻
$select_newsnum = $mysqli->query("SELECT id FROM news where $id_newscats IN (cats)");
$rows_newsnum = $select_newsnum->fetch_array(MYSQL_ASSOC);
$num_newsnum = $select_newsnum->num_rows;
它只获取第一个值,例如,如果我有这个值1,5,6,8
它只获得1
第一个值
答案 0 :(得分:1)
我会在单个sql调用中进行计数,而不是使用php逻辑和单独的sql调用。为此,我将使用左连接加入2个表并使用连接条件而不是from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import Normalizer
# classifier example
from sklearn.svm import SVC
pipeline = make_pipeline(Normalizer(), SVC())
子句:
in
显然,请确保连接条件是正确的。循环遍历结果集时,每个类别的新闻数将位于SELECT nc.id, nc.title, nc.ord_show, nc.icon, nc.king, nc.description, count(n.id) as newsnum
FROM news_cats nc
LEFT JOIN news n ON nc.id=n.cats
GROUP BY nc.id, nc.title, nc.ord_show, nc.icon, nc.king, nc.description
ORDER BY nc.ord_show asc
字段中。
答案 1 :(得分:0)
$select_newsnum = $mysqli->query("SELECT id FROM news where $id_newscats IN (cats)");
$rows_newsnum = $select_newsnum->fetch_array(MYSQL_ASSOC);
$num_newsnum = $select_newsnum->num_rows;
这里$ rows_newsnum只返回数据库中的第一行。
Fetch Array一次只返回一行,然后向前移动行指针。例如,您提供的数据集上的以下代码(1,5,6,8)。
$rows_newsnum = $select_newsnum->fetch_array(MYSQL_ASSOC);
echo $rows_newsnum["id"]; // Will print 1
$rows_newsnum = $select_newsnum->fetch_array(MYSQL_ASSOC);
echo $rows_newsnum["id"]; // Will print 5
你需要做的是将它移动到while循环(就像你的第一个例子)来访问每一行,如下所示:
while($row = $select_newsnum->fetch_array(MYSQL_ASSOC)) {
echo $rows_newsnum["id"] . ", ";
}
// Will produce:
// 1, 5, 6, 8,
如果您只想获得点数
您现有的代码应该可以正常运行。你可以省略对fetch_array的调用。
$num_newsnum = $select_newsnum->num_rows;
echo $num_newsnum; // Will display 4
在PHP文档中阅读有关fetch_array的更多信息: http://php.net/manual/en/mysqli-result.fetch-array.php
希望这有帮助。