我有一个表单将产品添加到此表单上名为“Products”的数据库表中,也是一个带有类别复选框的ul,产品可以是多个类别,因此在提交表单时我需要更新product table和product_categories表。
产品表将包含产品ID ,product_categories表将仅包含产品ID 类别ID ,因此创建一个很多关系。
然而,这是我难倒的地方,我可以很好地编写产品,但我不确定写入product_categories表的语法。
任何人都可以帮助我。
还没有代码,因为我不知道该写什么!
由于
贾斯汀
答案 0 :(得分:2)
您需要编写两个SQL语句。在第一个SQL语句之后,您需要刚刚插入的产品的ID - 您可以按照以下步骤执行此操作。
$q = "INSERT INTO product (`name`) VALUES ('my cool thing')";
$r = mysql_query($q);
$productId = mysql_insert_id ();
$q = "INSERT INTO product_category (`product_id`, `category_id`) VALUES ({$productId}, {$categoryId})";
$r = mysql_query($q);
注意:这是一种非常天真的处理方式,但它会让你入门。您可能希望使用MVC框架和PDO或ORM(或其他形式的数据库抽象)等来使您的生活更轻松。
答案 1 :(得分:1)
如果我正确理解您的问题,我认为您需要遍历类别,并且对于每个类别,运行插入脚本以将该特定类别 - 产品组合添加到product_category表中。
- 像这样:
$product = prodId;
foreach ($categoryIds as $categoryId) {
$query = "insert into ".$categoryTable." values ('".$product."', '".$categoryId."')";
// Run $query
}