使用php查询:要求从数据库apexlog中的apexlog表(字段分别为:id,time,username,serverinfo)中查询
在文本框中输入字段内容,点击提交按钮进行查询。查询条件以字段为准,条件可以包含多个字段。求代码!!!...
在文本框中输入字段内容,点击提交按钮 进行查询。查询条件以字段为准,条件可以包含多个字段。 求代码!!!
展开
2012-04-12 · 知道合伙人软件行家
关注
展开全部
以下是我编写的代码,经测试运行正常,但不知是否满足你的要求:
<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);
?>
<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);
?>
展开全部
数据库连接自己处理。以$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']; //获取关键字
以上两个值的真实性自己验证,不多说。
//组合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=》用户手动填写的值了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询