2017-09-25 107 views
0

因此,在HTML表單上,在提交時,我希望它檢查是否存在幾個不同的值並根據不同的值回顯不同的值。PHP MySQL查詢多個值然後比較HTML輸入,然後根據每個結果回顯

例如(SQL從不同的網頁接收輸入):

public function getOrderByRMA($rma_num, $regpro_sn) { 

    $sql = "SELECT * FROM " . DB_PREFIX . "reg_product "; 
    $sql .= " WHERE rma_num = '". $rma_num ."' AND "; 
    $sql .= "regpro_sn = '". $regpro_sn ."' "; 

    $query = $this->db->query($sql); 

    if ($query->row['rma_num_status']=0){ 
     $validity = 0; 
    } elseif ($query->row['rma_num_status']=2) { 
     $validity = 1; 
    } elseif ($query->row['rma_num_status']=3) { 
     $validity = 2; 
    } 
    else { 
     return $query->row; 
    } 
} 

從表 「reg_product」 有 「rma_num」, 「regpro_sn」 和 「rma_num_status」

我希望它檢查用戶輸入「rma_num」以確保它與數據庫中的內容匹配。「regpro_sn」與HTML表單上的「regpro_sn」相匹配(「regpro_sn」僅針對個人用戶)

,但同時檢查「rma_ num_status」是這可能是 「0」, 「1」, 「2」 或 「3」

PHP頁面,從SQL解釋數據:

protected function validateForm() { 
    $rma_num_check = $this->model_account_order->getOrderByRMA($this->request->post['ticket'],$this->request->post['regpro_sn']); 
    if (empty($rma_num_check)) { 
     $this->error['error_rma'] = $this->language->get('error_rma_none'); 
    } elseif ($validity == 1){ 
     $this->error['error_rma'] = $this->language->get('error_rma'); 
    } elseif ($validity == 2){ 
     $this->error['error_rma'] = $this->language->get('error_rma_invalid'); 
    } 
    } 

我不知道如何定義SELECT'*'中的變量來檢查它是否是特定的。

感謝您的幫助

+0

第二塊應該是php還是在sql語句中? (這很難理解你想要做什麼) – Jeff

+0

和你怎麼用_「如何在SELECT中定義一個變量」_? – Jeff

+0

你應該檢查PHP端的狀態,而不是SQL。不要讓你的生活過於複雜。 – yoda

回答

0

我相信你正試圖實現條件的SELECT語句,您可以使用CASE語法

$sql = " 
    SELECT 
     CASE 
      WHEN rma_num_status = 1 THEN '' 
      WHEN rma_num_status = 2 THEN 'Already in use' 
      WHEN rma_num_status = 3 THEN 'No longer Valid' 
      ELSE 'RMA Number was not found' 
     END CASE as 'status' 
    FROM " . DB_PREFIX . "reg_product 
    WHERE rma_num = '". $rma_num ."' 
    AND regpro_sn = '". $regpro_sn ."' 
"; 

如果你嘗試做別的事情做,發表您的數據庫表創建語句以及您希望輸出結果的示例。

+0

對我的代碼進行了更新。您的帖子與我正在尋找的內容很接近。 –

+0

看起來你需要返回$ query-> row ['rma_num_status'] –

+0

我看到你要去哪裏,但現在我得到「注意:未定義索引:rma_num_status在/ home/tplinkus/public_html/test/catalog/model/account/order.php on line 252「 –

相關問題