我可以从我的数据库中检索记录
桌子
在上面
5000记录
最小,我有四种方法可以做到,我不知道哪一种和为什么最适合我要求的工作,如果是较小的记录,哪一种最好:
(Queries)
#---- Rows
SELECT
a.`id`,
a.`content`
FROM
`docs` a;
我用
while()循环
对于每行:
while ($row = $rows->fetch()) {
echo "<option value=\"{$row['id']}\">{$row['content']}</option>";
}
#---- Group
SELECT
GROUP_CONCAT(
a.`id`,
".",
a.`content`
) AS `options`
FROM
`docs` a;
我用
explode()+foreach()循环
(内容不允许自然出现“.”(在其文本中)
:
foreach (explode(",", $options) as $option) {
$option = explode(".", $option); //[0]: id, [1]: content
echo "<option value=\"{$option[0]}\">{$option[1]}</option>";
}
#---- HTML Rows
SELECT
CONCAT("<option value=\"",a.`id`,"\">",a.`content`,"</option>") AS `option`
FROM
`docs` a;
我申请
查询中的html
然后使用
while()循环
:
while ($row = $rows->fetch()) {
echo $row;
}
#---- HTML Group
SELECT
GROUP_CONCAT("<option value=\"",a.`id`,"\">",a.`content`,"</option>" SEPARATOR "")
FROM
`docs` a;
这里的所有内容都已在查询中生成,只需打印:
echo $rows->fetch();