我有一个表,我基本上是循环使用它来创建一个基于列和数据的动态表单,即:
gameID -> 1
gameName -> my game name
gameTitle -> game title
这个表在未来可能会增长,所以我正在生成表单动态,即:
while ($row = $query->fetch(PDO::FETCH_ASSOC)){
foreach($row as $key => $value ){
echo "<div class='formlabel floatL'> $key </div> <div class='formfield floatL'><input type='text' name='$key' value='$value' size='100' /></div> <div class='clear'></div><br />";
}
}
但是,我不知道如何动态地循环使用这个表单字段。到目前为止,我有这个,但不确定如何完成:
if ($_POST["updatesettings"] <> ""){
foreach($_POST as $key => $value ){
// query
$query = $db->prepare(" UPDATE `games` SET `settingValue`= :value WHERE `settingCode` = :key LIMIT 0,1 ");
// bind parameters - avoids SQL injection
$query->bindValue(':value', stripslashes($value));
// try... if not catch exception
try {
// run the query
//$query->execute();
}
catch (PDOException $e){
}
}
}
所以听起来问题是$key
可能有一些任意值,所以你没有;I don’我不知道怎样把它们都弄到手。
我建议在表单输入中使用数组访问表示法,这样您就可以更好地了解从哪里获取密钥数据。Inout可能看起来像这样:
<input type='text' name='keys[$key]' value='$value' size='100' />
这将把所有这些输入组合到CCD_ 2中。所以你可以这样循环浏览它们:
foreach($_POST['keys'] as $key => $value) {
// make DB update
}