2016-12-23 6 views
0

enter image description heremehrere Abrufen von Daten und mehrere Daten mit Array und foreach

Ich bin Auflistung Produktliste von Produkten Tabelle einfügen, die ich auf der vorherigen Seite wählen Product_Group. In dieser Liste zeige ich Produktnamen und leere Eingaben in jeder Tabellenzeile an. In die leeren Eingaben schreibe ich manuell die Anzahl der Produkte, die ich in meinem Shop zähle. Nach dem Füllen aller Produktnummern (Zeilen in dieser HTML-Tabelle) möchte ich sie für jedes Produkt Zeile für Zeile in eine andere MySQL-Tabelle einfügen.

Hier ist meine HTML-Tabelle Codes:

<table class="table table-responsive" width="100%" border="1"> 
<tbody> 
<tr style="background-color:#C2E17C"> 
    <td align="center" width="80%"> Stok İsmi</td> 
    <td align="center" width="20%"> Sayım Miktarı</td> 
</tr> 
<?php 
$personelcek = mysql_query("SELECT * FROM stoklar WHERE sto_durum='acik' AND sto_altgrup_kod = '".$_REQUEST['sta_RECno']."' ORDER BY sto_isim ASC"); 
      while ($a= mysql_fetch_array($personelcek)){ 
       $sto_RECno = $a['sto_RECno']; 
       $sto_isim = $a['sto_isim']; 
       echo' 
      <tr> 
<td align="left" width="80%"><input class="input1" type="hidden" name="stok_kodu[]" value="'.$sto_RECno.'" readonly>'.$sto_isim.'</td> 
<td width="20%"><input style="text-align:right" class="input1" type="text" name="sayim_miktari[]" value=""></td> 
      </tr>';}?> 

</table> 

Und auch gibt es einen weiteren Eingang außerhalb der Tabelle, die ich die product_group_id wie diese abrufen:

<input type="hidden" name="alt_grup_kod[]" value="<?php echo $_REQUEST['sta_RECno']; ?>"> 

Und das letzte, was ich Sie möchten für jedes Produkt die vorhandenen Zählnummern aus der mysql-Produkttabelle abrufen.

Zusammenfassend möchte ich jedes Produkt einzeln in eine andere mysql-Tabelle einschließlich product_group_id, product_id, existing_count_numbers und manuell geschriebenen Zahlen einfügen.

ich so versucht, aber jedes Mal wenn ich Fehler erhalten:

$stok_kodu   = $_POST['stok_kodu']; 
$stoklar   = array($stok_kodu); 
$sayim_miktari  = $_POST['sayim_miktari']; 
$sayim_miktarlari = array($sayim_miktari); 
$alt_grup_kod  = $_POST['alt_grup_kod']; 
$alt_gruplar  = array($alt_grup_kod); 
$stok_miktarlari = array(); 

$miktar_cek = mysql_query("SELECT * FROM stoklar WHERE sto_RECno = '".$stok_kodu."' ORDER BY sto_RECno"); 
     while ($miktar_al = mysql_fetch_assoc($miktar_cek)){ 
      $stok_miktari[] = $miktar_al['sto_miktar']; 


foreach ($stok_kodu as $stoklar){ 
foreach ($sayim_miktari as $sayim_miktarlari){ 
foreach ($alt_grup_kod as $alt_gruplar){ 
foreach ($stok_miktari as $stok_miktarlari){ 


$sayim_kaydet = mysql_query("INSERT INTO sayim_sonucu (alt_grup_kod, stok_kodu, sayim_miktari, stok_miktari) VALUES ('$alt_gruplar', '$stoklar', '$sayim_miktarlari', '$stok_miktarlari')"); 
}}}}} 

Jede Idee, wie ich all diese Codes ordentlich und jedes Produkt in einer anderen Tabelle von MySQL-Datenbank einfügen?

+0

Sie sollten auf SQL-Injektion nachlesen. – jeroen

+0

Ich bewache mich am Anfang der Seite und keine Notwendigkeit, ganze Seite hier zu schreiben, denke ich. –

+0

Ich reparierte es entsprechend der Antwort dieser Frage. http://stackoverflow.com/questions/30982188/insert-multiple-rows-into-a-mysql-database-from-a-table –

Antwort

0

Ihre Foreach macht das Problem. Ändern Sie Ihre Foreach wie folgt. hoffe, dass dies helfen wird.Und auch eine zusätzliche Notiz 'Sie unbedingt eine Funktion schreiben müssen, um Mysql-Injektion für jede Post-Variable zu entkommen.

$count=0; 
foreach ($stok_kodu as $stoklar){ 

$sayim_kaydet = mysql_query("INSERT INTO sayim_sonucu 
(alt_grup_kod, stok_kodu, sayim_miktari, stok_miktari) VALUES 
('$alt_grup_kod[$count]', '$stoklar', 
'$sayim_miktari[$count]', '$stok_miktari[$count]')"); 

$count++; 

} 
+0

Danke für deine Antwort, aber ich habe es behoben. –

Verwandte Themen