php - 需要mysql查询表中一列下的多个标志

标签 php mysql zend-framework zend-db

我有一个表名首选项,它有多个列,但我只对两列感兴趣,即 user_preferences_nameuser_preferences_status

请注意 在 user_preferences_name 列中有多个标志,例如

user_preferences_name   user_preferences_status     phone_service_id 
    a                         1                          555
    b                         0                          456
    c                         0                          236
    d                         1                          122
    e                         1                          456
    f                         0                          777
    g                         0                          555
    h                         0                          888
    i                         1                          112
    .                         .                           .
    .                         .                           .
    .                         .                           .

有很多 user_preferences_name 我只需要 (a,b,f,q,w) 和它们各自的 user_preferences_status (1,1,0,1,0)

我所做的基本上是创建一个 html 表单,其中有 5 个不同的 div,每个 div 有 2 个单选按钮。 为一个:- 如果 user_preferences_status == 1 而不是启用单选按钮将被设置,否则将对 5 个潜水和单选按钮设置相同的禁用。 我尝试的是:

class Prefrances extends Zend_Db_Table{

function Get_User_Prefrences($phone_service_id){
    $DB = Zend_Db_Table_Abstract::getDefaultAdapter();
    $select = $DB->select()
         ->from('user_preferences' , array('user_preferences_name','user_preferences_value'))
         ->where('phone_service_id = ?', $phone_service_id)
         ->where('user_preferences_name = ?', 'a')
         ->where('user_preferences_name = ?', 'b')
         ->where('user_preferences_name = ?', 'f')
         ->where('user_preferences_name = ?', 'q')
         ->where('user_preferences_name = ?', 'w');
    return $select;
    }
}

结果 = 没有行 我认为我的逻辑是错误的,请你指导我这里需要什么, 一般的mysql查询也可以用我改成zend

最佳答案

$select = $DB->select()
    ->from('user_preferences' , array('user_preferences_name','user_preferences_value'))
    ->where('phone_service_id = ?', $phone_service_id)
    ->where('user_preferences_name IN (?)', array('a', 'b', 'f', 'q', 'w'));

关于php - 需要mysql查询表中一列下的多个标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9394964/

相关文章:

php - 我需要关于数据库问题的建议

php - html 表单数据未使用 PHP 和 PDO 插入 MySQL 数据库

php - 在移动设备上,Mysql 查询关键字更改为 php 中的未知字符集

php - Zend Db Table 启动时异常显示数据库用户和密码。怎么阻止呢?

zend-framework - Zend Session Handler Db 表在 PHPUnit 测试期间被破坏

php - block 引用忽略空行并继续打开新报价

php - 如何将数组存储在数据库列中

php - 我的 index.php 中的未知脚本产生恶意软件,我被黑了吗?

php - 是否可以在没有 MySQL 的情况下制作功能齐全的购物车

mysql - 我想在具有整数名称的属性中使用聚合函数