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?