我允许用户使用表单中的文本框创建最多十个类别。为此,我有十个格式为 name = cat[] 的文本框。当他们第一次输入类别时——不管有多少,最多十个,在接收端,我只是收集类别数组并使用插入语句将它们保存到类别表中。到现在为止还挺好。
但是,现在我想让他们更改他们已经设置的类别或添加最多十个额外的类别。他们已经设置的类别有 id。因此,我将 id 与类别名称一起回显到表单中。我的问题是我现在如何收集姓名和身份证?需要插入新的并且可能需要在表中更新现有的?出于某种原因,我完全不知道如何做到这一点。这是我到目前为止所拥有的>
餐桌猫
id | catname | userid
表格页面:
//retrieve existing cats if any...also get catids
echo '<form action = storecats.php method=post>';
$i=1;
//Get all existing cats
while($row = mysql_fetch_array($res))
{
$catname = $row['catname'];
$catid = $row['id'];
echo '<input type = "text name="cat[]" value="'.$catname.'">Cat 1';
echo '<input type="hidden" name="id[]" value = "'.$catid.'">';
$i = $i+1;
}
//empty boxes up to ten.
while($i <= 10){
echo '<input type="text" size=18 name="cat[]" value=""> Cat '.$i.'<br>';
$i = $i+1;
}//end appending of blank categories
echo '<input type="submit" name="submit" value="submit"></form>';
在接收端,我可以收集 cat 和 id 的数组。
$idarray = $_POST['id']; //there will be as many elements as there were ids
$catarray = $_POST['cat']; //there will be ten elements in array
在有 id 的地方,我想执行更新,而在没有 id 的地方我想插入,除非该值为空白。
我的问题是我不知道如何链接不同数组中接收到的 id 和 cat 名称。请注意,总会有十个猫名,但只会有与该用户之前表中一样多的 id。