我要完成的是一个后端管理面板,具有多个表单来编辑数据库中的表。
我想在页面上运行一个SQL查询,并多次引用它(可能从同一个查询中创建3个不同的循环,而不必多次查询它(。
如果可能的话,我无法弄清楚如何使查询在其初始循环之外工作。
我已经有了适用于所有表单的 SQL 语句(因为基本上我的表单只是一遍又一遍地查询相同的 2 个表(,但我不能多次使用它......我已经尝试过了,但无法让它工作。
我只想运行一次此查询,每当我需要在页面上再次使用它时,只需重新引用它。 (也许通过创建一个新的 while 循环?试过了,没用。使用不同的变量?不行。我很想知道有什么作用...
此管理面板是一个 PHP 页面,根据管理任务按区间划分。
对于一些想法,是这样的~
上传照片//
(可用的选项是...
- 上传照片
- 添加照片标题
01. 选择类别 ||SQL查询!循环 - 类别
下拉列表02. 选择子类别 ||SQL查询!循环 - 类别 + 子类别
的复选框列表- 添加标签
- 添加照片描述/评论
管理类别//
(可用的选项是...
- 创建一个新类别
03. 删除多个类别 ||SQL查询!循环 - 类别的复选框列表 + 每个
类别的 # 个条目04. 重命名类别 ||SQL查询!循环 - 类别
列表05. 编辑子类别 ||SQL查询!循环 - 子类别列表
等等
等等...
如您所见,所做的所有查询都与类别相关。
我实际上已经完成了一个工作版本,但是在一个页面上有太多的SQL查询(一遍又一遍地对于完全相同的表(,这似乎不切实际且轻率。一定有更好的方法...
我只想使用一次的查询(以及我现在使用的查询(是:
$sql = "SELECT category.id, category.name, COUNT(records.category_id) as number
FROM category
LEFT OUTER
JOIN records
ON category.id = records.category_id
WHERE
category.active = 1
GROUP
BY category.id
ORDER
BY category.name";
$result = mysql_query($sql);
while($rows = mysql_fetch_array($result)) {
echo "SAMPLE LOOP" . $rows['id'] . $rows['name'] . $rows['number']; }
有没有办法实现我想要实现的目标?
感谢您的时间和智慧!
将结果保存到新数组,然后在需要时可以迭代该数组:
$sql = "SELECT category.id, category.name, COUNT(records.category_id) as number
FROM category
LEFT OUTER
JOIN records
ON category.id = records.category_id
WHERE
category.active = 1
GROUP
BY category.id
ORDER
BY category.name";
$result = mysql_query($sql);
$saved_results = array();
while($rows = mysql_fetch_array($result)) {
echo "SAMPLE LOOP" . $rows['id'] . $rows['name'] . $rows['number'];
array_push($saved_results, $rows);
}
然后,只要你想:
foreach($saved_results as $res) {
dostuff();
}