2016-04-14 11 views
0

einfügen Ich versuche, ein Array der Zeile in der Datenbank einzufügen und jede Zeile des Arrays 3 weitere Zeilen enthalten.Wie Array Array in phpmyadmin mit PHP

foreach($type as $a=>$b) 
    { 
    $sql="INSERT INTO `actual_regular` (`employee`, `sex`, `caste`, `family`, `local`, `worked_month`, `incash`, `total_salary`) VALUES ('$type[$a]', '$sex_actual[$a]', '$caste_actual[$a]', '$family_actual[$a]', '$employee_actual[$a]', '$worked_month[$a]', '$cash_actual[$a]', '$salary_actual[$a]');"; 
mysql_query($sql); 

Oben wird ein Array von Zeilen eingefügt. Alle Zeilen enthalten 3 Zeilen, die

$insert = "INSERT INTO `more_regular` (`product_detail`, `unit`, `quantity`, `price`) VALUES ('$detail_product[0]', '$unit[0]', '$quantity[0]', '$price[0]');"; 
    $insert = "INSERT INTO `more_regular` (`product_detail`, `unit`, `quantity`, `price`) VALUES ('$detail_product[1]', '$unit[1]', '$quantity[1]', '$price[1]');"; 
    $insert = "INSERT INTO `more_regular` (`product_detail`, `unit`, `quantity`, `price`) VALUES ('$detail_product[2]', '$unit[2]', '$quantity[2]', '$price[2]');";   
mysql_query($insert); 
} // above foreach ends here 

ich meine, es gibt mehrere Zeilen in der Tabelle eingefügt werden müssen, in neue Tabelle eingefügt werden actual_regular alle Zeilen 3 weitere Zeilen enthalten. Diese 3 Zeilen werden in die Tabelle more_regular eingefügt.

Antwort

1

Verwenden einzelne INSERT-Abfrage für drei Einsatz Operationen wie folgt aus:

<?php 
$insert = "INSERT INTO `more_regular` (`product_detail`, `unit`, `quantity`, `price`) VALUES "; 
$values = array(); 
foreach ($type as $a=>$b) { 
    $values[] = "('$detail_product[0]', '$unit[0]', '$quantity[0]', '$price[0]')"; 
    $values[] = " ('$detail_product[1]', '$unit[1]', '$quantity[1]', '$price[1]')"; 
    $values[] = " ('$detail_product[2]', '$unit[2]', '$quantity[2]', '$price[2]')"; 
} // above foreach ends here 
if (! empty($values)) { 
    $insert .= implode(', ', $values); 
} 
mysql_query($insert); 
?> 

Grundsätzlich ist die Logik:

INSERT INTO TABLE (ID, NAME) VALUES 
(1,'Andrew'), 
(2,'Glenn'), 
(3,'Marvel'); 
+0

'foreach ($ Typ wie $ a => $ b)' ist bereits oben verwendet, also verwende ich 'foreach ($ detail_product als $ x => $ y)' bt kann kein Ergebnis erhalten. – yank

+0

@Pupil entfernen Sie das Semikolon von jedem Wert "$ price [0]"; '' <---- ' –

+1

@Uchiha Ja, Sie sind absolut richtig, n thnks beide von Ihnen .... – yank