2012-07-21 113 views
0

我在PHP和MYSQL中使用它在订购系统中使用,订单带有特定项目,我有一个查找表,它有一个唯一的数字我想排序,我需要找出一种方式说,如果该项目有序匹配表项拷贝过来的ID的顺序表像如下如何根据记录值从2个表中匹配信息

查找表

item ID

1蝙蝠侠漫画1111 2超人漫画1112 3蜘蛛侠漫画1113

Order表

Ordered_item Sort_ID

1蜘蛛侠漫画NULL 2蝙蝠侠漫画书NULL 3超人漫画NULL

$sort = "SELECT ordered_item, sort_id 
     FROM order table 
      WHERE packing_slip_printed = 0 
    AND LOWER(payment_status) = 'completed' 
    AND address_name <> ''"; 
$item_ids = "SELECT * 
    FROM look up table"; 



$rows = $db -> fetch_all_array($sort); 
$updaters = $db -> fetch_all_array($item_ids); 
$itemname = $updaters['item']; 
$itemkey = $rows['sort_id']; 
$updatekey = $updaters['ID']; 
echo $updatekey; 
if ($itemkey = NULL) 
{ if ($updaters['item'] == $rows['item_name']) 
    $itemkeys = $updatekey; 
mysql_query("UPDATE `paypal_ipn_orders` SET `key` = '. $itemkeys .'"); 
} 

我想更新的顺序表Sort_ID匹配ID从查找表中。

我想我可以使用嵌套的if语句,但Sort_ID刚回来0

+0

你是否单独测试你的mysql语句?第一条语句看起来像缺少where关键字和where语句的第一部分。 – hgolov 2012-07-21 19:39:41

回答

0

你需要采取一个或两个退后一步,重新考虑你正在做的一切。

  1. 您的SQL无效($排序查询缺少WHERE关键字,至少是)
  2. 你显然混合的mysqli/PDO和mysql_ *函数
  3. 你的表结构似乎缺少适当的引用来将它们链接在一起(为什么是sort_ID为null,同样重要 - 基于它为空 - 为什么你期望它返回的是null或0之外的东西?)

或者我们缺乏很多关于您正在编写的代码的信息。

+0

它为空的原因是因为null需要用查找表中的4位数字代替。订单没有4位数字。我真正需要做的是交叉引用2个表,如果它的项目名称匹配我需要从查找表中复制id到订购表哦,而且我也离开了哪里。这是WHERE packing_slip_printed = 0.它并不真正相关。 – user1542036 2012-07-26 04:50:20

相关问题