提交具有关联值的多个选项的最佳方法

时间:2011-10-31 21:25:34

标签: php html forms

我有一个项目,其中我将有一个很长的项目列表,其中包含一两个关联值,我希望用户能够点击并添加到数据库中。

例如,我想要一个包含这些值的页面:

Cat, animal_id=1
Dog, animal_id=2
Pig, animal_id=3
etc.

现在,如果这只是几个项目,我会使用多种形式:

<form action="add.php" method="post" name="animal_form1" id="animal_form1">
   <input id="animal_name" name="animal_name" type="hidden" value="cat" />
   <input id="animal_id" name="animal_id" type="hidden" value="1" />
   <input type="submit" name="animal_add" id="animal_add" value="add" />
</form>

<form action="add.php" method="post" name="animal_form2" id="animal_form2">
   <input id="animal_name" name="animal_name" type="hidden" value="cat" />
   <input id="animal_id" name="animal_id" type="hidden" value="1" />
   <input type="submit" name="animal_add" id="animal_add" value="add" />
</form>

etc.

但是如果有很多项目包含我想提交的许多关联值,那么最有效的方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用一次性包含所有需要值的选择框:

<form action="add.php" method="post" name="animal_form" id="animal_form">
    <select name="animal">
        <option value="cat|1" />Cat 1</option>
        <option value="cat|2" />Cat 2</option>
        <option value="pig|3" />Pig 3</option>
    </select>
    <input type="submit" name="animal_add" id="animal_add" value="add" />
</form>

并在php中拆分它:

$animal = explode('|', $_POST['animal']);
echo $animal[0] . ', animal_id=' . $animal[1];