我有一个显示数据库中的选择 ID、选择和定义配对的表单。表单是动态的……取决于用户,可以有任意数量的这些配对。以下是三个配对的示例:
选择 ID、选择、定义
选择 ID、选择、定义
选择 ID、选择、定义
该页面显示得很好,但如果用户想要编辑选择或定义,我在提交表单时收到以下错误(注意:第 41 行是我的更新查询):
“注意:未定义的偏移量:3 in(链接到我的 php 文件)在第 41 行”
我假设通知告诉我查询没有读取我的三个数组中的信息......但我不知道我应该在我的查询中输入什么,以便它可以正确读取。非常感谢您的帮助。
if(isset($_POST['submit'])){
$selection_id = array();
$selection = array();
$definition = array();
foreach ($_POST as $key => $value){
// If array variable starts with "pd_selection_id_for_" save to $selection_id array, otherwise continue to the next array.
if(strpos($key, 'pd_selection_id_for_') !== false){
$selection_id[] = mysql_real_escape_string($value);
}else if(strpos($key, 'selection_for_') !== false){
$selection[] = mysql_real_escape_string($value);
}else if(strpos($key, 'definition_for_') !== false){
$definition[] = mysql_real_escape_string($value);
}
}
// Count one of the arrays to select the paired fields and update the database.
$total = count($definition);
for ($i=1; $i <= $total; $i++){
// Update query for the paired selections and definitions.
$query = mysql_query("UPDATE `pd_selections` SET `pd_selection` = '$selection[$i]', `pd_definition` = '$definition[$i]' WHERE `pd_selection_id` = '$selection_id[$i]' ") or die(mysql_error());
}
}