从输入页面我有可更改的表格数量发送数据。我这样做,每个新表格都有下一个号码。
name2
date3
name4
date5
name6
date7
etc...
当我尝试在我的Db表中捕获它们时,问题就出现了,其中有两列“name”和“date”。 这是我使用的代码:
$i = 1;
while(isset($_POST["name".$i]))
{
$cantidad = $_POST["name".$i];
$value = $_POST["date".($i+1)];
$query = "INSERT INTO `tickets` SET `name` = $cantidad, `date` = $value";
mysql_query($query);
$i += 2;
}
基本上,由于表单包含了pares(名称和日期),我需要它们以正确的顺序插入“name”和“date”列。事情是出于某种原因,代码不是惰性的。
我做错了什么? 提前谢谢。
答案 0 :(得分:0)
确保在某个实例之后断开循环,否则它将是无限循环。
$i = 1;
while(true)
{
if(isset($_POST["name".$i])) {
$cantidad = $_POST["name".$i];
$value = $_POST["date".($i+1)];
$query = "INSERT INTO `tickets` SET `name` = $cantidad, `date` = $value";
mysql_query($query);
$i += 1;
} else {
continue;
}
}
答案 1 :(得分:0)
lznogud,
我对你的代码做了一些修改,因此你需要在php文件中做一些修改,即testProces.php
$('#addScnt').live('click', function() {
$('<label for="ticketCantidad"><input type="text" id="ticketCantidad" size="20" name="ticketCantidad[' + i +']" value="" placeholder="Valor de Tickets" /></label>').appendTo(scntDiv);
//i++;
$('<label for="ticketValue"><input type="text" id="ticketValue" size="20" name="ticketValue[' + i +']" value="" placeholder="Cantidad de Tickets" /></label><p></p>').appendTo(scntDiv);
i++;
return false;
});
现在你得到的html结构将是
<input type="text" id="ticketCantidad" size="20" name="ticketCantidad[2]" value="" placeholder="Valor de Tickets">
<input type="text" id="ticketValue" size="20" name="ticketValue[2]" value="" placeholder="Cantidad de Tickets">
然后下一个将是:
<input type="text" id="ticketCantidad" size="20" name="ticketCantidad[3]" value="" placeholder="Valor de Tickets">
<input type="text" id="ticketValue" size="20" name="ticketValue[3]" value="" placeholder="Cantidad de Tickets">
等等
现在在php文件中,你将获得两个数组,其中两个字段数据都在POST中的相同键中。然后你可以按如下方式进行编码:
if(isset($_POST["ticketCantidad"]) && count($_POST['ticketCantidad'])>0) {
foreach($_POST["ticketCantidad"] as $key => $value) {
$cantidad = $value;
$value = $_POST["ticketValue"][$key];
$query = "INSERT INTO `tickets` SET `name` = $cantidad, `date` = $value";
mysql_query($query);
}
}
希望这会清除图片。
PS:您可能需要在上面的代码中进行一些调整,因为我还没有测试过,只需一次性编写。