我首先搜索了它,但是我找不到我真正想要的东西。 好吧,我不是mySQL的专家,因此我有一点需要解决。
所以,我有2个表:MATERIALS和ORDERS如下:
订单:
Id_O | Client | material | etc..
材料:
Id_M | Id_O
注意:1对多关系。
我有表“命令”来注册所有数据。 第二个表“材料”用于识别属于同一ID的材料,这意味着我将拥有材料:'material1','material2'等,用于ID ='1'的订单。 然后我想将该信息显示为列表。
因此,要收集这些数据,我如何才能使查询正常工作?事实上,这是我的疑问。 因为当我提交订单时,我希望能够同时注册2或3个材料,与我之前说的ID相同。
感谢。
答案 0 :(得分:0)
如果你正在谈论一对多的关系(一个订单可以有很多材料),那么你将得到你的orderID和你的材料数组并循环它。
但是,在此配置中,您不应在“orders”表中包含“material”。
我需要查看订单中数据的示例,但假设列表:
$stmt = $db->query('SELECT * FROM orders');
$insert = $db->prepare('INSERT INTO materials VALUES (?,?)');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$materials = explode(",", $row['material']);
foreach($materials as $material) {
$insert->execute(array($row["id_O"], $material));
}
}