我有一个从数据库创建的动态复选框。这里的数量文本框是一个示例代码:
$query="SELECT name,price FROM product";
$result=mysql_query($query);
$num=mysql_numrows($result);
$i=0;
while ($i < $num) {
$name=mysql_result($result,$i,"name");
$price=mysql_result($result,$i,"price");
echo "<form name='waz' action='calculate2.php' method='post'>
<br>
<input type='checkbox' name='$name' value='$name; '/> $name
<input type='text' name='$name'/>
<br>";$i++;
} echo "<input type='submit' value='calculate'/>"; ?><br>
如何捕获 calculate2.php 页面上的文本框和复选框值,并将每个复选框和文本框值保存为不同的变量。请帮忙
答案 0 :(得分:0)
试试这个
$query="SELECT name,price FROM product";
$result=mysql_query($query);
$num=mysql_numrows($result);
$i=0;
while ($i < $num) {
$name=mysql_result($result,$i,"name");
$price=mysql_result($result,$i,"price");
echo "<form name='waz' action='calculate2.php' method='post'>
<br>
<input type='checkbox' name='check$i' value='$name; '/> $name
<input type='text' name='text$i'/>
<br>";$i++;
}
echo "<input type='submit' value='calculate'/>";
echo "<input type='hidden' value='$i' name='count'/>";
?><br>
在calculate.php中
$count=$_POST["count"];
for($i=0;$i<count;$i++){
$name="check" . $i;
$checkvalue=$_POST[$name];
$text="text" . $i;
$textvalue=$_POST[$textvalue];
//savetodatabase
}
答案 1 :(得分:0)
HTML
<form action="process.php" method="post">
<input type="text" name="myText" />
<input type="checkbox" name="myCheck" value="someVal" />
<input type="sumbit" />
</form>
Process.php
$myTextVar = $_POST['myText'];
$myCheckVar = $_POST['myCheck'];
$_POST[]
数组会填充发送到脚本的任何发布数据,或者,您可以使用get
方法,并使用$_GET[]
数组。
索引名称来自HTML表单中提供的名称。
文本框的值来自用户输入的内容。复选框中的值来自您在标记中设置的任何值。
答案 2 :(得分:0)
试试这个(它使用我在评论中提到的输入数组):
$query="SELECT name,price FROM product";
$result=mysql_query($query);
$num_rows = mysql_num_rows($result);
if($num_rows>0){
echo "<form name='waz' action='calculate2.php' method='post'>";
while($row=mysql_fetch_array($result)){
echo "<br>
<input type='checkbox' name='name[]' value=".$row['name']." > ".$row['name']."
<input type='text' name='text[]' >
<br>";
}
echo "<input type='submit' name='submit' value='calculate'/>";
echo "</form>";
}
在calculate2.php
:
if(isset($_POST['submit'])){
if(isset($_POST['name'])){
foreach($_POST['name'] as $key=>$val){
echo $val; //this will return all checked values
}
}
//Similarly for $_POST['text']
foreach($_POST['text'] as $key=>$val){
echo $val; //this will return all textbox values - you may need to check if they are empty
}
}
答案 3 :(得分:0)
尝试这样:
echo "<form name='waz' action='calculate2.php' method='post'>
<br>";
while ($i < $num) {
$name=mysql_result($result,$i,"name");
$price=mysql_result($result,$i,"price");
echo"
<input type='checkbox' name='chk[]' value='$name; '/> $name
<input type='text' name='txt[]' value='$name'/>
<br>";$i++;
}
echo "<input type='submit' value='calculate'/>"; ?><br>
在calculate2.php
:
您将拥有所有文字输入的数组:
$arrText = $_POST['txt'];
您将拥有所有复选框输入的数组:
arrChk = $_POST['chk'];
然后您可以获得每个文本和复选框值,例如:
$firstTxt = $arrText[0];
$firstchk = $arrchk[0];