【发布时间】:2017-09-25 21:46:48
【问题描述】:
因此,在 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”
解释来自 SQL 的数据的 PHP 页面:
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 '*' 中定义一个变量来检查它是否 = 特定的东西。
感谢您的帮助
【问题讨论】:
-
第二块应该是php还是sql语句? (有点难以理解你想做什么)
-
您对 “如何在 SELECT 中定义变量”有什么看法?
-
你应该检查 PHP 端的状态,而不是 SQL .. 不要让你的生活过于复杂。