将多个同名字段保存到数据库PHP
保存它的PHP代码将多个同名字段保存到数据库PHP,php,jquery,html,Php,Jquery,Html,保存它的PHP代码 $cols = $_POST['col']; $EvenementID = mysql_real_escape_string($_POST['evenementid']); foreach($cols as $col) { $Ticketnaam = mysql_real_escape_string($col['ticket']); $Aantal = mysql_real_escape_string($col['aantal']); $Prijs = mysql_re
$cols = $_POST['col'];
$EvenementID = mysql_real_escape_string($_POST['evenementid']);
foreach($cols as $col) {
$Ticketnaam = mysql_real_escape_string($col['ticket']);
$Aantal = mysql_real_escape_string($col['aantal']);
$Prijs = mysql_real_escape_string($col['prijs']);
$sql = "INSERT INTO tbl_Tickets (EvenementID, Ticketnaam, Aantal, Prijs) VALUES('".$EvenementID ."', '{$Ticketnaam}', '{$Aantal}', '{$Prijs}')";
}
HTML代码
<input type="hidden" name="evenementid" value="<?php echo $evenementid; ?>" />
我正试图将这两个块保存到我的数据库中(因此我需要两条记录)。两个区块的均线相同。问题是数据库中只有一条记录
$cols = $_POST['col'];
$EvenementID = mysql_real_escape_string($_POST['evenementid']);
foreach($cols as $col) {
$Ticketnaam = mysql_real_escape_string($col['ticket']);
$Aantal = mysql_real_escape_string($col['aantal']);
$Prijs = mysql_real_escape_string($col['prijs']);
$sql = "INSERT INTO tbl_Tickets (EvenementID, Ticketnaam, Aantal, Prijs) VALUES('".$EvenementID ."', '{$Ticketnaam}', '{$Aantal}', '{$Prijs}')";
$res = mysql_query($sql);//This will execute count($cols) number of times
}
您需要将mysql_查询($sql)移动到循环中,否则它将只执行foreach循环的最后一次迭代。您使用的是ajax还是普通表单提交?我们可以看到您的ajax请求代码吗?您需要展示如何创建
myData
!啊,我在代码段中看到它被遗漏了。问题是ajax需要做一个计数($cols)
,看看实际有多少列。如果只有一个键,则表示表单的方式有问题。由于$\u POST
数组中有多个键,因此这将不起作用。如果$\u POST['col']
是唯一的键,那么这将起到有限的作用。
if (isset($_POST)){
$EvenementID = mysql_real_escape_string($_POST['evenementid']);
foreach($_POST as $col) {
$Ticketnaam_1 = mysql_real_escape_string($col[0]['ticket']);
$Aantal_1 = mysql_real_escape_string($col[0]['aantal']);
$Prijs_1 = mysql_real_escape_string($col[0]['prijs']);
$Ticketnaam_2 = mysql_real_escape_string($col[1]['ticket']);
$Aantal_2 = mysql_real_escape_string($col[1]['aantal']);
$Prijs_2 = mysql_real_escape_string($col[1]['prijs']);
$sql = "INSERT INTO tbl_Tickets (EvenementID, Ticketnaam, Aantal, Prijs) VALUES('".$EvenementID ."', '{$Ticketnaam_1}', '{$Aantal_1}', '{$Prijs_1}')";
$sql = "INSERT INTO tbl_Tickets (EvenementID, Ticketnaam, Aantal, Prijs) VALUES('".$EvenementID ."', '{$Ticketnaam_2}', '{$Aantal_2}', '{$Prijs_2}')";
}
}
var myData = $('#ticket-form').serialize();
$.ajax({
type: "POST",
//URL of the php file that will process the login
url: "includes/ticket.php",
dataType: 'json',
//Pass the data through
data: myData,
//Handle the response
success: function (data) {
switch(data.case){
case 1:
$(".inlog-feedback").html(data.message).fadeIn('slow');
break;
case 2:
$(".inlog-feedback").html(data.message).fadeIn('slow');
window.location = "index.php";
break;
case 3:
$(".inlog-feedback").html(data.message).fadeIn('slow');
break;
default:
/* If none of the above */
}
}
})
//Stop the submit button from submitting the form
return false;
}
$cols = $_POST['col'];
$EvenementID = mysql_real_escape_string($_POST['evenementid']);
foreach($cols as $col) {
$Ticketnaam = mysql_real_escape_string($col['ticket']);
$Aantal = mysql_real_escape_string($col['aantal']);
$Prijs = mysql_real_escape_string($col['prijs']);
$sql = "INSERT INTO tbl_Tickets (EvenementID, Ticketnaam, Aantal, Prijs) VALUES('".$EvenementID ."', '{$Ticketnaam}', '{$Aantal}', '{$Prijs}')";
$res = mysql_query($sql);//This will execute count($cols) number of times
}
if (isset($_POST)){
$EvenementID = mysql_real_escape_string($_POST['evenementid']);
foreach($_POST as $col) {
$Ticketnaam_1 = mysql_real_escape_string($col[0]['ticket']);
$Aantal_1 = mysql_real_escape_string($col[0]['aantal']);
$Prijs_1 = mysql_real_escape_string($col[0]['prijs']);
$Ticketnaam_2 = mysql_real_escape_string($col[1]['ticket']);
$Aantal_2 = mysql_real_escape_string($col[1]['aantal']);
$Prijs_2 = mysql_real_escape_string($col[1]['prijs']);
$sql = "INSERT INTO tbl_Tickets (EvenementID, Ticketnaam, Aantal, Prijs) VALUES('".$EvenementID ."', '{$Ticketnaam_1}', '{$Aantal_1}', '{$Prijs_1}')";
$sql = "INSERT INTO tbl_Tickets (EvenementID, Ticketnaam, Aantal, Prijs) VALUES('".$EvenementID ."', '{$Ticketnaam_2}', '{$Aantal_2}', '{$Prijs_2}')";
}
}