2014-04-15 52 views
0

我正在使用MySQL查詢將多個記錄插入到表中。 在我的網址中,我得到了我輸入的所有記錄,但在數據庫中它只更新了我的最後一條記錄。我在這裏使用onclick函數來添加新的表格行。任何幫助。 這裏是我的代碼如何從PHP中的URL中獲取具有相同名稱的多個參數並將所有記錄插入表中

if (isset($_GET['submit'])) 
{ 
    require_once("shine_class.php"); 
    $s = new shine; 
    $s->connection(); 
    $date1 = date_default_timezone_set('Asia/Kolkata'); 

    $date1= time() ; 
    $newdate1 = date("d-m-Y", $date1); 


    for ($i=0; $i < count($_GET['finished_product_name']); $i++) 
    { 
     $product =$_GET['finished_product_name']; 
     $material = $_GET['material_name']; 
     $quantity = $_GET['product_quantity']; 

     // mysql_query("INSERT INTO material_used (product_name, material_name, product_quantity, date) VALUES ('$a', '$b', '$c','$newdate1')") or die(mysql_error()); 
     $insert ="insert into material_used set `product_name` = '".$product."', `material_name` = '".$material."', `product_quantity` = '".$quantity."',`date` = '".$newdate1."' ";     
     $select = mysql_query($insert) or die(mysql_error()); 
    } 
} 
+0

插入數據請寫你的代碼在這裏 – Sadikhasan

+0

哪裏是你的查詢,..如果你可以在這裏貼上您的查詢 – jmail

+0

是的,我已經在這裏貼我的查詢,... – Ash

回答

0

你嘗試分配與同name.so你上次值的值與現有值替換。

例如:您的網址是什麼樣子,

http://www.example.com/index.php?finished_product_name=abc&material_name=xxx&finished_product_name=pqr&material_name=yyy 

所以你$_GET['finished_product_name']具有價值pqrabc


如果你可以改變字段名稱與包括[],那麼PHP將創建一個包含所有匹配值的數組:

http://www.example.com/index.php?id[]=123&version[]=3&id[]=234&version[]=4 

你的URL例子一樣,

http://www.example.com/index.php?finished_product_name[]=abc&material_name[]=xxx&finished_product_name[]=pqr&material_name[]=yyy 

你的for循環是:

for ($i=0; $i < count($_POST['finished_product_name']); $i++) 
{ 
    $product =$_POST['finished_product_name'][$i]; 
    $material = $_POST['material_name'][$i]; 
    $quantity = $_POST'product_quantity'][$i]; 
} 
+0

嗨Ajay你能解釋這個更多我怎麼能更新我的代碼來創建php數組? – Ash

+0

是的,您可以將'finished_product_name'多次添加到您的網址中,以便將您的值替換爲現有值。 –

+0

欲瞭解更多詳情,請參閱我編輯的答案。 –

0
$insert ="insert into material_used(product_name,material_name,product_quantity,date) VALUES('$product', '$material','.$quantiy','$newdate1')     
+0

你錯過了一個錯字:$ quantiyY –

+0

只有最後一條記錄更新到數據庫表的同樣的問題。 – Ash

+0

謝謝大家的幫助.. – Ash

0

使用下面的函數在DB

$data['col1']='value1'; 
$data['col2']='value2'; 
. 
. 
$data['coln']='valuen'; 

insert('table_name',$data); 

    function Insert($table, $condition) 
{ 
    $sql = "INSERT INTO `$table` SET "; 
    $content = null; 
    foreach ($condition as $k => $v) 
    { 
     $v_str = null; 
     if (is_numeric($v)) 
      $v_str = "'{$v}'"; 
     else if (is_null($v)) 
      $v_str = 'NULL'; 
     else 
      $v_str = "'" . mysql_real_escape_string($v) . "'"; 

     $content .= "`$k`=$v_str,"; 
    } 
    $content = trim($content, ','); 
    $sql .= $content; 
    return $result = mysql_query($sql); 
} 
相關問題