使用php查询:要求从数据库apexlog中的apexlog表(字段分别为:id,time,username,serverinfo)中查询

在文本框中输入字段内容,点击提交按钮进行查询。查询条件以字段为准,条件可以包含多个字段。求代码!!!... 在文本框中输入字段内容,点击提交按钮 进行查询。查询条件以字段为准,条件可以包含多个字段。 求代码!!! 展开
 我来答
windblast
2012-04-12 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13624
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部
以下是我编写的代码,经测试运行正常,但不知是否满足你的要求:

<form action="test1.php" method="post">
<label for="id">id号:</label>
<input type="text" name="id" id="id" title="id" />
<label for="time">time:</label>
<input type="text" name="time" id="time" />
<label for="username">username:</label>
<input type="text" name="username" id="username" />
<label for="serverinfo">serverinfo:</label>
<input type="text" name="serverinfo" id="serverinfo" />
<br /><br />
<input type="submit" title="submit" />
</form>
<?php
//对提交的内容进行简单去空格的处理
$s1 = trim($_POST['id']);
$s2 = trim($_POST['time']);
$s3 = trim($_POST['username']);
$s4 = trim($_POST['serverinfo']);

//组合查询条件
$s1 = ($s1!='')?" and id='$s1'":"";
$s2 = ($s2!='')?" and time='$s2'":"";
$s3 = ($s3!='')?" and username='$s3'":"";
$s4 = ($s4!='')?" and severinfo='$s4'":"";
$s = $s1.$s2.$s3.$s4;

//生成最后的sql语句,进行查询
$sql = ($s == '')?"select * from table":"select * from table where (1=1) $s";
$db = new mysqli('localhost','root','test','apexlog');
$db->query($sql);
?>
清友灵0cJ
2012-04-12 · TA获得超过251个赞
知道小有建树答主
回答量:450
采纳率:100%
帮助的人:290万
展开全部
数据库连接自己处理。以$conn来代替了。

$field = $_GET['field']; //获取字段名
$words = $_GET['words']; //获取关键字
以上两个值的真实性自己验证,不多说。

//组合SQL字符串
$tempsql = 'SELECT * FROM apexlog WHERE `'.$field.'`=\''.$words.'\'';
$query = mysql_query($tempsql,$conn);
结束了。。再扩展自己处理了。
追问
你好   能帮我解释一下:$field = $_GET['field'];  //获取字段名
$words = $_GET['words']; //获取关键字
这两条能详细解释一下吗?  谢谢了   不是太懂  刚接触php
追答
查询不是不用表单GET方法提交的吗?
field=>表单对象名,最好搞个下拉框里面的值是id、time、username、serverinfo这4个选项。
words=》用户手动填写的值了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式