我正在尝试获取一个可以从中检索所选值的网址。 例如,如果我在a和b上勾选一个复选标记,那么我会得到:
index.php?category=1&&category=2
我想改为:index.php? category0 = 1&& category1 = 2 因此我可以稍后使用$ _GET [' category0']
获得此特定值有没有办法为所选复选框添加一个计数器,并在其输入名称的末尾添加0,1,2,3 ..?
<form action="" method="get">
<!-- this will be a php loop instead of hardcored
which will retrieve data from the db -->
<label><input type="checkbox" name="category" value="1">a</label>
<label><input type="checkbox" name="category" value="2">b</label>
<label><input type="checkbox" name="category" value="3">c</label>
<label><input type="checkbox" name="category" value="4">d</label>
<label><input type="checkbox" name="category" value="5">e</label>
<input type="submit">
</form>
答案 0 :(得分:1)
类别变量会相互覆盖,请尝试以下方法:
<form action="" method="get">
<!-- this will be a php loop instead of hardcored
which will retrieve data from the db -->
<label><input type="checkbox" name="category[]" value="1">a</label>
<label><input type="checkbox" name="category[]" value="2">b</label>
<label><input type="checkbox" name="category[]" value="3">c</label>
<label><input type="checkbox" name="category[]" value="4">d</label>
<label><input type="checkbox" name="category[]" value="5">e</label>
<input type="submit">
</form>
甚至:
<form action="" method="get">
<!-- this will be a php loop instead of hardcored
which will retrieve data from the db -->
<label><input type="checkbox" name="category[a]" value="1">a</label>
<label><input type="checkbox" name="category[b]" value="2">b</label>
<label><input type="checkbox" name="category[c]" value="3">c</label>
<label><input type="checkbox" name="category[d]" value="4">d</label>
<label><input type="checkbox" name="category[e]" value="5">e</label>
<input type="submit">
</form>
然后您可以通过这种方式获取信息:
$_GET['category']['a']
答案 1 :(得分:0)
你的意思是这样的吗?
for ($i=0;$i<3;$i++)
echo '<label><input type="checkbox" name="category'.$i.'" value="'.$i.'">a</label>';
这取决于您想要对数据做什么(您可能需要根据需要调整此示例中的标签文本),通常有几种传递数据的方法所有工作,但需要不同程度的努力。
答案 2 :(得分:0)
这是一个HTML问题,而不是PHP问题,因为无论您的服务器使用什么技术,浏览器都会一致地发送信息。提交表单时,浏览器使用<form>
元素输入的名称和值属性。要按照您的说法接收参数,请将您的名称和值属性更改为以下内容:
<label><input type="checkbox" name="category0" value="1">a</label>
<label><input type="checkbox" name="category1" value="2">b</label>
<label><input type="checkbox" name="category2" value="3">c</label>
<label><input type="checkbox" name="category3" value="4">d</label>
<label><input type="checkbox" name="category4" value="5">e</label>
编辑:在服务器端,您可以执行以下操作来生成以上标记:
$category_names = array("a", "b", "c");
for ($i=0;$i<count($category_names);$i++) {
echo '<label><input type="checkbox" name="category'.$i.'" value="'.$i+1.'">'.$category_names[$i].'</label>';
}