请教一个php+mysql多条件查询的语句

select addtime from table where addtime between '$starttime' and '$endtime'//这个是查询时间段的
我还有$work(是一个下拉菜单选项),$user(下拉菜单选项),$text(可输入的文本)三个值想和上面的时间段加在一起实现多条件查询,如果用if语句做限制条件,请问大家语句是什么啊?『需要$text模糊查询』。例子正确把剩下的分数全部奉上~~!!!!
呵呵。。。谢谢你了。。。赶紧把分加上

一般方法是这样的:

$cond="where addtime between '$starttime' and '$endtime'";

if ($work!='') $cond.=" and work='$work'";
if ($user!='') $cond.=" and user='$user'";
if ($text!='') $cond.=" and text like '%$text%'";

$sql="select addtime from table $cond";

......
mysql_query($sql)
........

能够明白我的思路吧?不明白请说明。

补充:
调试语句应该这样:
if (!$result)
echo "SQL=$sql, ERROR=".mysql_error();
温馨提示:内容为网友见解,仅供参考
无其他回答

php中统计mysql数据库多条件,多条目
sum_wait = mysqli_num_rows(mysqli_query($link, "select * from table1 where 防患类别='{$type}' and 状态='代办'"));sum_done = mysqli_num_rows(mysqli_query($link, "select * from table1 where 防患类别='{$type}' and 状态='已解决"));sum_total = mysqli_num_rows...

PHP + Mysql多个表并行查询如何实现
在PHP-FPM处理HTTP请求时,有时会遇到一个请求需要进行多次MySQL查询(在报表类应用中比较常见)。通常我们会以串行方式查询:link = new mysqli();$rs1 = $link->query('SELECT * FROM table1');while ($row = $rs1->fetch_row()) { ... }$rs2 = $link->query('SELECT * FROM tab...

php+mysql,查询后,约有几百条记录,怎么实现每行显示5个
要用数据库查询语句:select * from t_user limit 0,5 。PHP实现分页都是这样方法 limit 0,5

php+mysql数据查询语句问题,两张表user,msg【高分求解】
php$sql_str="select toid,fromId,info,max(addDate) as A_date from msg where toid=1 group fromid order by fromId "$con = mysql_connect("localhost","mysql_user","mysql_pwd");if (!$con) { die('Could not connect: ' . mysql_error()); } $rs= mysql_...

PHP+mysql 查询三个字段1,2,3是否包含指定字符 ,如有一个包含,则显示字...
如果是等于就是:select 字段1 from 表名 where 字段1 = ‘安顺’ or 字段2 = 'as' or 字段='anshun'要是字段中包含安顺,而 “我是安顺”也要匹配的话就是:select 字段1 from 表名 where 字段1 like ‘%安顺%’ or 字段2 like '%as%' or 字段 like '%anshun%'

php mysql 怎么同时搜索一个字段下的多个值
用循环吧 比如,输入了$str="a,b,c";arrs = expode(",",$str);for($i=1;$i<count($arrs);$i++){ sql="select * from student where name like ''%'".$arrs[$i]."%'"r = mysql_query9$sql);if($r){ }else{ } } 不知道你看 明白了没有。

PHP和MYSQL查询语句查出30天内反馈问题次数最多的用户的ID
\/\/ 如果你的用户表中已经有了该用户的反馈数目记录,\/\/ 那你可以直接倒序查询再加个 Limit即可 :$sql = "SELECT * FROM users ORDER BY item_number DESC";\/\/ 如果没有的话, 那就遍历你的Users表, 分别查询出用户的反馈条数再进行排序吧$sql = "SELECT id FROM users";$users = []; ...

php连接mysql数据库,执行查询语句后,排序后再输出
你的情况直接使用排序语句就可以 select id, type from news where <condition> order by id desc

mysql,php 中多对多关系的问题
用一条sql语句就行 设表结构如下:编辑员表 editor: id, name,pwd,newsblocks 新闻版块表 news : id, name sql语句如下:SELECT editor.*,GROUP_CONCAT(news.`name`) AS newsblock_name FROM editor LEFT JOIN news ON INSTR(editor.`newsblocks`, news.`id`)GROUP BY editor.id 这是...

PHP mysql 分批查询
你可以查1W条,然后按每个数据100条来分。data = select * from table limit 10000$chunk = array_chunk($data, 100);print_r($chunk);也可以每次查询 100 条 start = 0;while($data = select * from table limit $start, 100){print_r($chunk);$start += 100;} ...

相似回答