我正在尝试创建一个每次进入下一页时保存的多页调查。如果他们然后离开并返回到开头,则所有信息都会在字段中自动填充。
首先,我选择所有以前保存的数据:
$survey = $_GET['survey'];
$query = "SELECT * FROM data WHERE id='{$survey}'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
然后我会使用循环来获取页面上的所有问题,如果它存在于$ row数组中,则会自动填充信息。
$query = "SELECT * FROM questions WHERE id in (1,2,3)";
$result = mysql_query($query);
while ($items = mysql_fetch_array($result)){
if($items['type'] == "text"){
$value = $items['name']; ?>
<p><?php echo $items['question']; ?> <input type="text" id="<?php echo $items['name']; ?>" name="<?php echo $items['name']; ?>" value="<?php echo $row['{$value}']; ?>" /></p>
<?php }
}
表格的一个例子:
问题
ID,类型,名称,问题
1,text,first_name,你的名字是什么?
2,text,last_name,你的姓氏是什么?
DATA
ID,名字,姓氏
1,约翰,伊
除了:
之外,一切似乎都在起作用value="<?php echo $row['{$value}']; ?>"
提前致谢,
答案 0 :(得分:3)
抛弃引号,它们使它成为字符串文字而不是变量。 (括号可能也没有必要):
value="<?php echo $row[$value]; ?>"
答案 1 :(得分:0)
这应该是,不需要'
value="<?php echo $row[$value]; ?>"
答案 2 :(得分:0)
你的问题是一个,你使用单引号,它不执行PHP变量或函数,但按原样获取文本。如果使用双引号,{$ var}将被视为变量。但是,在这种情况下,您根本不需要引号。
使用:
<?php echo $row[$value]; ?>