【发布时间】:2014-11-04 17:47:43
【问题描述】:
我有这个 php 代码 - for 循环,在每一步,每次增量搜索 mysql 表中的数据 aktivnosti
PHP:
for ($i=1; $i<=30; $i++;){
$temp = array();
$temp['ID'] = $i;
// ATTEMP TO GET DATA FROM aktivnosti WHERE id_activity = $i
$rs1 = $db->prepare('SELECT naziv FROM aktivnosti WHERE id_activity=:idd');
$rs1->bindParam(':idd', $i);
$rs1->execute();
$naz = $rs1->fetchColumn();
$temp['activity'] = '<button>'.$naz.'</button>';
$output['data'][] = $temp;
}
$jsonTable = json_encode($output);
正如您从上面的代码中看到的那样,我尝试获取每个$i 增量的数据并搜索id_activity on table aktivnosti = $i
我只得到一个结果,所以我只得到第一个 'naziv',我需要从 id_activity = $i 的表 aktivnosti 中获取所有 naziv 数据并创建:
<button>$naz[0]<button>
<button>$naz[1]<button>
<button>$naz[2]<button>
<button>$naz[how many times id_activity = $i]<button>
我该怎么做?一些想法?
对不起我的英语。谢谢
【问题讨论】:
-
为什么不直接获取您需要的所有行,然后遍历结果呢?而不是访问数据库 30 次?
-
查询准备应该退出(之前)for循环。
-
因为我需要创建一个具有 30 行 30 IDS 的 JSON...
-
您发出 30 个数据库请求而不是 1 个?如果有人删除活动怎么办?然后您的代码将停止工作。
-
for 循环是 30 次,因为在数据库中我存储了一个月的天数,所以我不知道我在哪一天有活动,所以我创建循环来处理 mysql 表 aktivnosti 并捕获数据...