使用php mysql将数据插入数据库时​​比较两个表

时间:2014-06-17 06:06:29

标签: php mysql codeigniter

category --> `cat_id`,`name`
sub_category --> `sub_cat_id`,`name`
category_subcategory_association --> `cat_sub_cat_id`,`cat_id`,`sub_cat_id`
order_master --> `order_id`,`cat_sub_cat_id`,`cat_id`,`sub_cat_id`,`order_name`

如果我们在插入表格时给出cat_id,sub_cat_id,它们应该检查这些id是否存在于关联表中,如果id存在,那么这些是我在将订单添加到order_master表时所拥有的数据库表在关联表中,我们应该获得该关联ID,并且应该插入到订单表中。

我们怎么能这样做才能有人帮助我

提前致谢。

2 个答案:

答案 0 :(得分:0)

您只需检查它是否存在,如果不存在 - 将其插入数据库并获取最新的ID。

I.E:

$cat_name = ; // your code
$sub_cat_name =; // your code

$query = mysql_query("SELECT cat_id FROM `category` AS `c` WHERE name = '$cat_name'");

if(!mysql_num_rows($query)) { 
  mysql_query("INSERT INTO category (name) VALUES ('$cat_name')");
  $cat_id = mysql_insert_id();
} else 
    $cat_id = mysql_fetch_array($query);

// now do the same for the sub category and then insert it into to order_master

这是一般代码,您需要将其自定义为框架标准。

希望它有所帮助

答案 1 :(得分:0)

通过select语句实现检查: http://dev.mysql.com/doc/refman/5.1/de/select.html

运行多个SQL查询,例如。 select和update语句的混合需要您了解: