Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在SELECT查询(MySql)中生成重复行_Php_Mysql - Fatal编程技术网

Php 在SELECT查询(MySql)中生成重复行

Php 在SELECT查询(MySql)中生成重复行,php,mysql,Php,Mysql,是否可以在SELECT*FROM中生成重复行 在某些行中,我有一个名为quantity的字段。当数量超过1时,我想复制该记录 example item quantity book 1 phone 3 pencil 1 我想在记录集中得到的是 book phone phone phone pencil 这可能吗?您可以为每个“数量”添加一个结果,例如: $query = "SELECT * FROM books";

是否可以在
SELECT*FROM
中生成重复行

在某些行中,我有一个名为quantity的字段。当数量超过1时,我想复制该记录

example
    item    quantity
    book        1
    phone       3
    pencil      1

我想在记录集中得到的是

book
phone
phone
phone
pencil

这可能吗?

您可以为每个“数量”添加一个结果,例如:

$query = "SELECT * FROM books";

$originalResult = $conn->query($sql);
$modifiedResults = array();

while($row = $originalResult->fetch_assoc()) 
{
    array_push($modifiedResults, $row);

    for($i=0; $i< $row.quantity; $i++)
    {
        array_push($modifiedResults, $row);
    }
}
$query=“从书本中选择*”;
$originalResult=$conn->query($sql);
$modifiedResults=array();
而($row=$originalResult->fetch_assoc())
{
数组\u push($modifiedResults,$row);
对于($i=0;$i<$row.quantity;$i++)
{
数组\u push($modifiedResults,$row);
}
}

可能的解决方案是使用REPEAT

SELECT REPEAT(item, quantity) FROM <table_name> WHERE <condition>
从何处选择重复(项目、数量)
如果你想在一个字符串中使用GROUP_CONCAT

SELECT GROUP_CONCAT(REPEAT(item1, quantity)) FROM <table_name> WHERE <condition>
从何处选择组(重复(项目1,数量))

只需迭代结果,并为每部手机添加额外记录,或者为您的答案添加其他记录。您的意思是在while循环中添加一个记录?基于查询是不可能的?它可能是可能的,但为什么在查询中需要它?为什么要标记PHP?