php - 通过 php 脚本使用 php 脚本生成元素
问题描述
我正在尝试学习 php,但现在我被一件事困住了。我有这样的代码:
<select name = "Option1" id ="Option1">
<option value="0">Option1</option>
<?php
include ("db_connect.php");
$option1 = $pdo->query("SELECT * FROM options");
while($row = $option1->fetch(PDO::FETCH_ASSOC)){
echo '<option value = "' . $row['id'] . '">' . $row['name'] . '</option>';
}
?>
</select>
这是从数据库中选择带有选项的元素。但是我需要其中的 5 个,并且将这段代码复制 5 次是没有意义的,还是我错了?
我试过这样的事情:
function renderSelect()
{
for ($a = 0; $a < 5; $a++){
echo '<select>
<option value="0">Option ' . $a . '</option>
' . renderOptions($a) . '
</select>';
}
}
function renderOptions(){
include ("db_connect.php");
$option1 = $pdo->query("SELECT * FROM options");
while($row = $option1->fetch(PDO::FETCH_ASSOC)){
echo '<option value = "' . $row['id'] . '">' . $row['name'] . '</option>';
}
}
然后只需调用renderSelect
,但它没有按预期工作。
你能给我一点建议吗?
非常感谢,我很感激!
解决方案
尝试在第二个函数中使用 return 。如果您在第二个函数中回显它,它会将回显输出添加到您调用该函数的开头。您创建一个字符串,在其中添加所有选项,然后返回该字符串。
function renderOptions(){
include ("db_connect.php");
$option1 = $pdo->query("SELECT * FROM options");
$string = "";
while($row = $option1->fetch(PDO::FETCH_ASSOC)){
$string .= '<option value = "' . $row['id'] . '">' . $row['name'] . '</option>';
}
return $string;
}
还有一点要提一下,您正在调用renderOption
函数并传递$a
给一个函数,该函数接受参数。
推荐阅读
- graphql - 在 NestJS 中使用 GraphQL 模式首先生成的类型
- google-apps-script - 如何每天一次/每周/每月自动刷新谷歌表格?
- apache-kafka - java.lang.IllegalStateException:这不应该发生为 timestamp()
- python - 使用 3 个 2D numpy 数组或 3 个 1D numpy 数组创建一个 3D numpy 数组
- sql-server - 获取查询错误 - 多部分标识符 - 无法绑定到我的 SQL 代码
- angular - Angular getCurrentNavigation().extras
- javascript - 如何切换不同按钮的背景颜色并在 reactjs 中添加幻灯片?
- jestjs - 如何解决 Jest Mock 错误“找不到模块”
- android - 如何在没有查询的情况下在 Retrofit 中提取 Json 数据
- django - 如何在查询集上添加字段和值