2014-09-02 45 views
0

我有一個文本框和循環生成的選擇窗體。這是名稱和折扣。對於每個作爲關鍵與AND

我在將它們插入數據庫時​​遇到了問題。這是我的代碼。

我不知道如何解決這個問題。如果我創建另一個foreach,它會使輸入翻倍。

 foreach($_POST['name'] as $key) 
     foreach($_POST['discount'] as $disccc) 

請幫助我,謝謝。

 foreach($_POST['name'] as $key AND $_POST['discount'] as $disccc) 
     { 

     if(is_numeric($key)) 
     { 
     $error_msg .= "<img src='img/warning.png' style='height:60px;width:60px;'></img><strong style='color:yellow;'>Name must not contain numeric characters.</strong><br><br>"; 
     $flag = 1; 
     } 
     if(empty($key)) 
     { 
     $error_msg .= "<img src='img/warning.png' style='height:60px;width:60px;'></img><strong style='color:yellow;'>Please fill in all the fields.</strong><br><br>"; 
     $flag = 1; 
     } 



     if($flag == 0) 
     { 
       $pass = mysql_query("INSERT INTO tbl_passenger 
       VALUES 
       (
       NULL, 
       '".$id."', 
       '".$key."', 
       '".$disccc."', 
       '1' 
       ) 
       ")or die(mysql_error());      
       } 



       $audit_trail = mysql_query("INSERT INTO tbl_audit_trail 
       VALUES(
       NULL, 
       '".$_SESSION['user']."', 
       NOW(), 
       '".$_SERVER['REMOTE_ADDR']."', 
       'Made a reservation' 
       ) 
       ")or die(mysql_error());  

       if($first_insert && $pass && $audit_trail) 
       { 
       $result = "reserve_success"; 
       echo ("<script language='Javascript'> 
       window.location.href='regular_payment.php?reference=$id'; 
       </script>"); 
       } 

       } 

回答

1

只能遍歷一個foreach循環單個陣列。你可能利用array_combine但它聽起來像一個糟糕的設計選擇無論如何,如果你的數據是從$_POST直接來的,因爲你不能保證相同長度的數組。受到錯誤處理,雖然,它看起來類似於...

foreach(array_combine($arr1, $arr2) as $key => $val) 
    echo "$key => $val \n"; // ... 

» example

+0

謝謝你,它有很大幫助。 – Bladeism 2014-09-02 12:09:33

0

試試這個:

foreach($_POST['name'] as $key=>$name) { 
    if(is_numeric($name)){ 
     $error_msg .= "<img src='img/warning.png' style='height:60px;width:60px;'></img><strong style='color:yellow;'>Name must not contain numeric characters.</strong><br><br>"; 
    } elseif(empty($name)) { 
     $error_msg .= "<img src='img/warning.png' style='height:60px;width:60px;'></img><strong style='color:yellow;'>Please fill in all the fields.</strong><br><br>"; 
    } else { 
     $product = $_POST['discount'][$key]; 
     $pass = mysql_query("INSERT INTO tbl_passenger VALUES(NULL, '".$id."', '".$name."', '".$product."', '1') ")or die(mysql_error()); 
    } 

}