我有一个表名首选项,它有多个列,但我只对两列感兴趣,即 user_preferences_name
和 user_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/