如何解决如何设置 PHP 循环以获取产品并创建规格表
表 2:名称
两个表中的“名称”行相同。表 1 由每个项目的规格详细信息组成。表 2 只是应该包含在整个页面上的产品名称列表。 我想获取每个产品名称的所有规格。 例如,Product Rajwadi 晚餐套装应从表 1 中获取其所有规格。 我需要添加大约 50 个这样的产品。 我希望它的显示方式也如下图所示。
我一直在尝试的代码是这样的:
<?PHP
include("connection.PHP");
$db_dinner_set = "dinner_set";
$db_names = "names";
$query2= "SELECT * FROM $db_names";
//echo($query);
$statement2 = $connection2->prepare($query2);
$statement2->execute();
$result2 = $statement2->fetchAll();
foreach($result2 as $row){
echo '
'.$row['Name'].'
<br>
<br>
';
$Name = $row['Name'];
$query3= "SELECT * FROM $db_dinner_set WHERE Name = $Name ";
//echo ($query3);
$statement3 = $connection2->prepare($query3);
$statement3->execute();
$result3 = $statement3->fetchAll();
foreach($result3 as $row)
{
echo '
<div class="poem-genre">
'.$row['Items'].'
</div>
';
}
}
?>
解决方法
您的桌子设计需要一些工作,但您仍然可以完成任务。按名称加入表格(不理想):
SELECT d.Name,d.Items,d.pieces,d.image FROM dinner_set d LEFT JOIN names n ON d.Name = n.Name
然后在 PHP 中循环遍历结果,为每个项目构建一个对象。
$items = [];
foreach($result3 as $row){
// Add item by name
if (!array_key_exists($row['name'],$items)) {
$items[$row['name']] = [];
}
$piece = [];
// Add attributes of the particular piece
$piece['name'] = $row[Items];
$piece['qty'] = $row[pieces];
// Assign this piece to this item
$items[$row['name']][] = $piece;
}
现在您有一个项目数组,每个项目都将包含该项目的零件列表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。