检索多个数据并使用array和foreach插入多个数据

时间:2016-12-23 08:56:51

标签: php mysql arrays foreach insert-into

enter image description here

我在产品表中列出了产品列表,我在上一页选择了product_group。在此列表中,我在表的每一行中显示产品名称和空输入。进入空输入,手动我写了我店里数的产品数量。在填写所有产品编号(此html表中的行)后,我想逐行将它们插入另一个mysql表中。

这是我的html表格代码:

<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> 

此外,还有一个表格外的输入,我将检索product_group_id:

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

最后一件事,我想从mysql产品表中检索每个产品的现有计数。

总结一下,我希望将每个产品逐个插入到另一个mysql表中,包括product_group_id,product_id,existing_count_numbers和手动编写的数字。

我尝试过这样但每次我都会遇到错误:

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

知道如何整理所有这些代码并将每个产品插入另一个mysql数据库表中吗?

1 个答案:

答案 0 :(得分:0)

你的foreach惹麻烦。改变你的foreach就像这样。希望这会有所帮助。还有一个补充说明'你绝对需要编写一个函数来为每个post变量转义mysql注入。

$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++;

}