PHP MySQL根据多种条件显示消息

时间:2011-11-04 00:30:12

标签: php mysql

我正在使用php / mysql开发一个项目,但发现很难继续前进。这是我的情况:

我有两个表第一个“用户”,第二个是“消息”。表1包含用户ID,性别,年龄,城市和国家/地区。第二个表包含messageid,message,gender,minimum_age,maximum_age,city和country。

现在我想要实现的是向用户显示遵循消息表中所有条件的特定消息。例如:

如果我在消息表中给出条件,如

==========================================================================
messageid || message    || gender || minimum_age || maximum_age || city || country

1            Messages 1    male      20             30             london  UK
2            Messages 2    female    ANY            40             gurgaon IN

我的年龄是24岁,性别是男性,城市是“伦敦”,国家是英国。然后我会在页面上看到消息“消息1”。如果条件都不匹配,那么我将看到任何消息。

注意:某些用户在用户数据库中没有年龄,城市,国家或性别。

我需要帮助mysql查询或最好的技术来完成这项任务。

2 个答案:

答案 0 :(得分:0)

SELECT u.userid, u.gender, u.age, u.city, u.country, m.messageid,
   m.minimum_age, m.maximum_age, m.city, m.country 
FROM users u, message m 
WHERE u.gender = m.gender and u.age between m.minimum_age and m.maximum_age 
     and u.city = m.city and u.country = m.country
这样的事情。

然后检查结果集,如果为空,则更改查询以选择所有消息

答案 1 :(得分:0)

执行此操作的一种方法是在SQL查询中使用WHEREJOIN