如何使用循环为文本框分配不同的名称?我尝试了一些编码,但它没有抓住我输入的值。
很抱歉我缺乏编码技巧。提前谢谢。
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc())
{
echo $row["criteria_name"];
echo '<input name="$criteria_name" type="textbox"/> <br/><br/>';
}
}
答案 0 :(得分:2)
使用双引号
时,您只能在字符串中使用变量将工作:
echo "Hello world $variable";
虽然这会不:
echo 'Hello world $variable';
但是,我可以看到它可能是一个问题,因为HTML中有双引号,这会为您提供一些选项。
选项1
使用双引号括起字符串,然后转义现有的双引号:
echo "<input name=\"$criteria_name\" type=\"textbox\"/> <br/><br/>";
选项2
连接字符串:
echo '<input name="' . $row['criteria_name'] . '" type="textbox"/> <br/><br/>';
选项3
使用控制结构的替代语法,并使用原始HTML:
if ($result->num_rows > 0):
while($row = $result->fetch_assoc()):
?>
<?= $row["criteria_name"]; ?>
<input name="<?= $criteria_name; ?>" type="textbox"/><br/><br/>
<?php
endwhile;
endif;
答案 1 :(得分:0)
我假设您要将$ row [&#39; criteria_name&#39;]命名为输入字段名称
echo '<input name="'.$row['criteria_name'].'" type="textbox"/> <br/><br/>';
请检查接受答案提供的有关如何在以下帖子中连接字符串中的变量的选项 PHP - concatenate or directly insert variables in string
答案 2 :(得分:-1)
试试这个:
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '<input name="'.$row["criteria_name"].'" type="textbox"/> <br/><br/>';
}
}