PHP MySQL 查询多个值,然后与 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”

解释 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 '*' 中定义变量来检查它是否=特定内容。

感谢您的帮助

最佳答案

我相信您正在尝试对 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 ."'
";

如果您尝试执行其他操作,请发布您的数据库表创建语句以及您希望输出的示例。

关于PHP MySQL 查询多个值,然后与 HTML 输入进行比较,然后根据每个结果进行回显,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46414678/

相关文章:

PHP - 基本选择查询只返回 mysql 数据库的第一行

php - 推送通知在android中多次获取

mysql - 从一张表查询与两张表的关系(MySQL)

php - 如何从两个数组创建对?

php - 上传图片时在数据库中保存完整的 URL 链接

php - if 进入 for 时的奇怪行为

php - Paypal 代码错误。重定向到错误 400

php - 通过 jquery 无意中发布了多个帖子

mysql - Doctrine 和 symfony2 中的多个更新查询

javascript - 使用 EJS 将 MySQL 查询结果显示为 HTML