关于php检索代码

jb0103 2004-04-09 01:38:52
大家帮个忙,我有段javascript不会写了。情况是这样的:
1、要做一个php检索,需要一段sql脚本,考虑到检索情况的各种组合,需要一段javascript来对复选框选择的内容过滤,生成标准sql语句。
2、将语句赋给变量,进行查询。
...全文
102 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jb0103 2004-04-09
小弟刚学php不久,有很多东西不明白,大家不要笑,小弟虚心学习,我再去试试……
回复
ice_berg16 2004-04-09
晕。你用GET传递就改一下嘛
将$_POST => $_GET
回复
jb0103 2004-04-09
提交后用PHP来过滤
$sql = "SELECT * FROM tbl_name";
$tmp = "";
if (isset($_POST['var1']))
$tmp .= "WHERE fld1 = '".$_POST['var1']."' ";
if (isset($_POST['var2']))
$tmp .= (empty($tmp)?"WHERE":"AND")."fld2 = '".$_POST['var2']."' ";
if (isset($_POST['var3']))
$tmp .= (empty($tmp)?"WHERE":"AND")."fld3 = '".$_POST['var3']."' ";
$sql .= $tmp."ORDER BY timefield desc";


这样做好象不行,值传过来了,但tmp里含有值为空的变量,如:
http://localhost/add.php?A=1&B=&C=1&D=1&E=sssss&F=ssss&g=&H=1&submit=%CC%E1%BD%BB
这样sql=select * from table where A=1&B=&C=1&D=1&E=sssss&F=ssss&g=&H=1 时是查不出来准确值的啊
回复
jb0103 2004-04-09
试试看
回复
ice_berg16 2004-04-09
提交后用PHP来过滤
$sql = "SELECT * FROM tbl_name";
$tmp = "";
if (isset($_POST['var1']))
$tmp .= "WHERE fld1 = '".$_POST['var1']."' ";
if (isset($_POST['var2']))
$tmp .= (empty($tmp)?"WHERE":"AND")."fld2 = '".$_POST['var2']."' ";
if (isset($_POST['var3']))
$tmp .= (empty($tmp)?"WHERE":"AND")."fld3 = '".$_POST['var3']."' ";
$sql .= $tmp."ORDER BY timefield desc";
回复
jb0103 2004-04-09
我具体的意思是这样的:

在一个页面用提供了各种复选框条件,让用户选择自己想查询的各种条件组合,提交后由脚本生成一段sql语句,让php执行,这样可以准确的查找出各种组合值

回复
superyiman 2004-04-09
把每个复选矿再下面都对应一个hidden域,该hidden的值作为你拼出来的sql语句的条件,如
<input name="check14" type="checkbox" >
<input name="id14" type="hidden" value="181">
提供一种思路,你的具体问题没说清,没完全明白
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告