【问题标题】:Inserting rows based upon quanity in php and mysql在php和mysql中根据数量插入行
【发布时间】:2015-04-06 18:44:08
【问题描述】:

我从表返回的查询中返回 3-8 行。我需要根据数量将这些行中的每一行转换为另一个表中的多行。

例如:

我有一个由设备类型、设备名称、数量和价格组成的数组。

$devices = array
  (
  array("laptop","A-100",5,300),
  array("laptop","B-105",1,450),
  array("printer","CP21",3,125),
  array("monitor","vision21",1,100)
  );

将其插入单独的数据库表以便根据数量为每种设备类型创建多个记录的最佳方法是什么?示例:

laptop     A-100      300
laptop     A-100      300
laptop     A-100      300
laptop     A-100      300
laptop     A-100      300
laptop     B-105      450
printer    CP-21      125
printer    CP-21      125
printer    CP-21      125
monitor    vision 21  100

我试图在网上找到任何可以为此提供指导的东西。我能找到的最接近的是运行 foreach 循环,但我看不到如何运行 foreach 循环并返回我需要的内容。

提前致谢。

【问题讨论】:

  • 您不会找到任何直接执行此操作的内容。你需要两个循环。一个在主数组上循环,然后一个子循环在那个“数量”字段上循环,执行多次插入。

标签: php mysql


【解决方案1】:

这有点乱,但应该这样做

$devices = array
      (
      array("laptop","A-100",5,300),
      array("laptop","B-105",1,450),
      array("printer","CP21",3,125),
      array("monitor","vision21",1,100)
      );
    $array = array();
    foreach($devices as $key=>$device){

        for($i=0;$i<$device[2];$i++){
        $array[] = array($device);
        }
    }

【讨论】:

  • 是的。它就像一个魅力。我花了几个小时试图找到解决方案。谢谢!!!!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多