2014-02-22 46 views
-1

我有2個表格: competition_winners我在那裏存儲贏得比賽和桌上比賽的人,我存儲有關實際比賽的信息。無法從2個表格中檢索數據無法獲得結果

所以我正在檢索優勝者和比賽的結束日期。但是負責日期的查詢不會返回任何內容。我正在使用Opencart,因此在模型中執行查詢。這是它的代碼。

public function getWinnersByDate($date) { 
       $qr = "SELECT competition_id FROM " . DB_PREFIX . "competition_winners"; 
//$fcid = $qr->row['competition_id']; 
     $query = "SELECT cometition_id,end_date FROM " . DB_PREFIX . "competition WHERE competition_id = '" .$qr->row['competition_id'] . "'"; 


     return $query->row; 

查詢在PhpMyadmin中正常工作。我錯過了什麼或做錯了什麼?

回答

0

而不是在兩個查詢中運行此應該使用JOIN(搜索谷歌上的SQL JOIN)。

public function getWinnersByDate($date) { 
    $qr = $this->db->query(" 
     SELECT cw.competition_id, c.end_date 
     FROM " . DB_PREFIX . "competition_winners cw 
     LEFT JOIN " . DB_PREFIX . "competition c ON c.competition_id = cw.competition_id 
    "); 

    return $query->rows; 
} 

我不知道你的數據庫結構,但上面的查詢中沒有任何意義的當前狀態 - 我相信你想使用提供$date參數添加一些WHERE條款,要選擇更多信息competition_winners桌子,所以請您自己動手,或者向我們提供您的問題的更多細節。