php - 使用数组和foreach检索多个数据并插入多个数据

标签 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 数据库的另一个表中吗?

最佳答案

你的 foreach 造成了麻烦。像这样改变你的 foreach 。希望这会有所帮助。并且还添加了一个注释“您肯定需要编写一个函数来为每个 post 变量编写一个函数来逃避 mysql 注入(inject)。

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

}

关于php - 使用数组和foreach检索多个数据并插入多个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41298190/

相关文章:

php - Laravel 查询 : Php implode array string values

c - 如何在C中动态初始化二维数组?

PHPSpreadsheet:如何获取加载的行数?

php - 获取似乎与我正在做的事情无关的 MySQL 错误

javascript - Wordpress - wp_enqueue_script/wp_enqueue_style 不起作用

mysql - MySQL可以自动更新数量字段吗?

MySQL - 有效选择多行

mysql - 数据库中的多个项目

java - Java中如何根据比率对两个数组进行排序?

c++ - 使用一组学生及其各自的 GPA 对 GPA 进行各种计算