2013-08-26 40 views
0

PHP代碼保存它。將多個相同的命名字段保存到數據庫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; ?>" /> 

BLOCK 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"/> 

BLOCK 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

你使用ajax還是正常的表單提交? – Mic1780

+0

我正在使用ajax – user1385694

+0

我們可以看到您的ajax請求代碼嗎? – Mic1780

回答

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循環的最後一次迭代。

+0

工作! Thankyou – user1385694

+0

不客氣。祝你好運! – Mic1780

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}')"; 


} 


} 
+0

這不會工作,因爲'$ _POST'數組中有多個鍵。如果'$ _POST ['col']'是唯一的關鍵字,這將有限。 – Mic1780

相關問題