保存它的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_real_escape_string($col['prijs']);
$sql = "INSERT INTO tbl_Tickets (EvenementID, Ticketnaam, Aantal, Prijs) VALUES('".$EvenementID ."', '{$Ticketnaam}', '{$Aantal}', '{$Prijs}')";
}
HTML CODE
<input type="hidden" name="evenementid" value="<?php echo $evenementid; ?>" />
第1块
<input type="text" name="col[0][ticket]" id="ticket" class="tekst-lang"/>
<input type="text" class="tekst-lang" name="col[0][aantal]" id="aantal"/>
<input type="text" class="tekst-lang" name="col[0][prijs]" id="prijs"/>
第2块
<input type="text" name="col[1][ticket]" id="ticket" class="tekst-lang"/>
<input type="text" class="tekst-lang" name="col[1][aantal]" id="aantal"/>
<input type="text" class="tekst-lang" name="col[1][prijs]" id="prijs"/>
AJAX
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;
}
我正在尝试将2个块保存到我的数据库中(所以我需要2个记录)。两个块都具有相同的evenementID。问题是数据库中只有一条记录。
答案 0 :(得分:0)
$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_query($ sql),否则它只会执行foreach循环的最后一次迭代。
答案 1 :(得分:0)
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}')";
}
}