【发布时间】:2017-04-29 12:01:09
【问题描述】:
您好,我正在尝试获取与 foreach 循环产生的值相等的每个数据的 num 行,这是我的 samp 代码
$query = $this->db->query("SELECT * FROM tblsamp");
foreach ($query->result() as $row){
$subquery = $this->db->query("SELECT * FROM other_table WHERE foo like '%$row->some_col%'");
echo $subquery->num_rows();
// Ill get the num rows here equal on the value of $row->som_col
}
这是示例输出,您可以将数据可视化”
name | NoRows
name1 | 6
name2 | 6
name3 | 6
name4 | 6
问题是如果 name1 检测到 name2、name3、name4 的“6”行。以此类推也会输出'6'行,即每个名字的行数不同。
为什么我得到与 name1 相同的结果?
希望各位大神解答!谢谢!
【问题讨论】:
-
您应该使用
JOIN和GROUP BY来在一次查询数据库中获取所有结果。 -
不做join有什么办法吗?
-
是的,您正在做的是另一种可能的方式,但是当一个查询和几行代码做得更好时,为什么要执行潜在的数百个查询并编写大量代码?
-
也许作为初学者你不会使用join,因为你不熟悉它,但最好探索你还不知道的东西
标签: php mysql html codeigniter