i have a table name preferences under this there are multiple columns but i am interested in only two column that are user_preferences_name
and user_preferences_status
Note plz in user_preferences_name column there are multiple flags like
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
. . .
. . .
. . .
there are many user_preferences_name i need only (a,b,f,q,w) and their respective user_preferences_status (1,1,0,1,0)
what i am doing basically is i am a creating a html form in which there are 5 different div i each div there are 2 radio buttons. for a:- if a user_preferences_status == 1 than enable radio button will be set other wise disable will be set same for 5 dive and radio buttons. what i try:
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;
}
}
result = no rows
i think my logic is wrong can you plz guide me what i need here, general mysql query can also applicable i ll change it to 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'));
You create a contradiction like e.g. its raining and its not raining which never is true. In your case
SELECT user_preferences_name, user_preferences_value FROM user_preferences
WHERE
phone_service_id = $phoneserviceid
AND user_preferences_name = 'a'
AND user_preferences_name = 'b'
AND user_preferences_name = 'f'
AND user_preferences_name = 'q'
AND user_preferences_name = 'w';
which NEVER can be true. You can instead use a subselect like garvey said or if it is an 'always' static subset you can add a column to identify this subset