2012-07-21 162 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

相關問題