PHP多条件搜索控制合并成一个输入框和打开不显示数据问题

madeinprc 2020-03-13 08:22:41
首先看下我的问题图片


我的要求是想把 货号 名称 条形码合并成一个输入框,在点查询可以输入3者之一点查询就可以输出结果。
第2要求是每次打开页面后就会显示输出数据,我不想每次打开页面就显示数据要怎么解决?
以下是代码:

<?php 
//1.导入配置文件
require("dbconfig.php");
?>
<html>
<head>

<title>明溪县蚂蚁文具管理系统</title>
<script type="text/javascript">
function dodel(id){
if(confirm("确定要删除吗?")){
window.location="action.php?action=del&id="+id;
}
}

</script>
</head>
<body>
<center>
<?php include("menu.php"); //导入导航栏 ?>
<!-----搜索表单--------->
<form action="ss.php" method="get">
<h2>货号:<input type="text" name="hh" size="15" style="height:28px" value="<?php echo !empty($_GET['hh'])?$_GET['']:""; ?>" /> 
名称:<input type="text" name="mc" size="15" style="height:28px" value="<?php echo !empty($_GET['mc'])?$_GET['']:""; ?>" /> 
条形码:<input type="text" name="txm" size="15" style="height:28px" value="<?php echo !empty($_GET['txm'])?$_GET['']:""; ?>"/> 
<input type="submit" style='font-size:22px'value="查询" /></h2>
<!-----全部显示 <input type="button" value="全部信息" onClick="window.location='ss.php'"/>--------->
</form>
<!-------------->

<table width="98%" border="1" cellpadding="0" cellspacing="0">
<tr>
<th>序号</th><th>条形码</th><th>货号</th>
<th>品牌</th><th>产品名称</th><th>单位</th><th>颜色</th>
<th>进货时间</th><th>销售价</th><th>备注</th>
</tr>
<?php
//=============================
//封装搜索信息
$wherelist = array();//定义一个封装搜索条件的数组变量
$urllist = array(); //定义了一个封装搜索条件的url数组,语句放置到url后面做url参数使用
//判断新闻标题是否有值,若有则封装此搜索条件
if(!empty($_GET["txm"])){
$wherelist[]="txm like '%{$_GET['txm']}%'";
$urllist[]="txm={$_GET['txm']}";
}
//判断关键字是否有值,若有则封装此搜索条件
if(!empty($_GET["mc"])){
$wherelist[]="mc like '%{$_GET['mc']}%'";
$urllist[]="mc={$_GET['mc']}";
}
//判断作者是否有值,若有则封装此搜索条件
if(!empty($_GET["hh"])){
$wherelist[]="hh like '%{$_GET['hh']}%'";
$urllist[]="hh={$_GET['hh']}";
}
//组装搜索条件
if(count($wherelist)>0){
$where = " where ".implode(" and ",$wherelist);
$url = "&".implode("&",$urllist);
}
//echo $where;
//echo $url;
//=============================




//2.1 插入分页处理代码
//======================================
//1. 定义一些分页变量
$page=isset($_GET["page"])?$_GET['page']:1; //当前页号
$pageSize=10; //页大小
$maxRows; //最大数据条
$maxPages; //最大页数

//2. 获取最大数据条数
@$sql = "select count(*) from product {$where}";
$res = mysql_query($sql,$link);
$maxRows = mysql_result($res,0,0); //定位从结果集中获取总数据条数这个值。
//3. 计算出共计最大页数
$maxPages = ceil($maxRows/$pageSize); //采用进一求整法算出最大页数

//4. 效验当前页数
if($page>$maxPages){
$page=$maxPages;
}
if($page<1){
$page=1;
}

//5. 拼装分页sql语句片段
$limit = " limit ".(($page-1)*$pageSize).",{$pageSize}"; //起始位置是当前页减一乘以页大小
//======================================

//3. 执行查询,并返回结果集
@$sql = "select * from product {$where} order by id asc {$limit}";
@$result = mysql_query($sql,$link);

//4. 解析结果集,并遍历输出
while($row = mysql_fetch_assoc($result)){
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['txm']}</td>";
echo "<td>{$row['hh']}</td>";
echo "<td>{$row['pp']}</td>";
echo "<td>{$row['mc']}</td>";
echo "<td>{$row['dw']}</td>";
echo "<td>{$row['ys']}</td>";
// echo "<td>{$row['ghs']}</td>";
echo "<td>{$row['jhsj']}</td>";
// echo "<td>{$row['pfj']}</td>";
echo "<td>{$row['xsj']}</td>";
echo "<td>{$row['bz']}</td>";
// echo "<td>
// <a href='javascript:dodel({$row['id']})'>删除</a>
// <a href='edit.php?id={$row['id']}'>修改</a></td>";
echo "</tr>";
}
//5. 释放结果集
mysql_free_result($result);
mysql_close($link);
?>
</table>
<?php
$url = !empty($url)?$url:"";
//输出分页信息,显示上一页和下一页的连接
echo "<br/><br/>";
echo "当前{$page}/{$maxPages}页 共计{$maxRows}条";
// echo " <a href='list3.php?page=1{$url}'>首页</a> ";
// echo " <a href='list3.php?page=".($page-1)."{$url}'>上一页</a> ";
// echo " <a href='list3.php?page=".($page+1)."{$url}'>下一页</a> ";
// echo " <a href='list3.php?page={$maxPages}{$url}'>末页</a> ";
?>
<table>

<td align="center"> <?php include("foot.php"); //导入底栏 ?></td>

</table>
</center>

</body>
</html>
...全文
703 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bailixia520 2020-03-23
  • 打赏
  • 举报
回复
既然只要一个文本框的值了,这个值匹配三个字段,那比你原来写的代码更简单了

3楼和4楼的答案就可以了
冰月渊 2020-03-21
  • 打赏
  • 举报
回复
if(!empty($_GET['搜索框'])){$urllist[]=" where txm='".$_GET['搜索框']."' or mc='".$_GET['搜索框']."' or hh='".$_GET['搜索框']."' ";}
冰月渊 2020-03-21
  • 打赏
  • 举报
回复
判断输入框是否有值?有的话sql语句直接or给三个字段查。。。
JoeBlackzqq 2020-03-17
  • 打赏
  • 举报
回复
用TP框架,简单的要死!!!

小罗的小刘 2020-03-16
  • 打赏
  • 举报
回复
就是这样子~代码不是贴着么
madeinprc 2020-03-16
  • 打赏
  • 举报
回复
引用 6 楼 夜晚De冷风 的回复:
就是这样子~代码不是贴着么
你好!按照你的方法修改了,点查询只能查询条形码,在条形码输入框查询名称和货号都查询不到结果,可以写详细点吗?
horizon_zpy 2020-03-14
  • 打赏
  • 举报
回复

<?php

//判断新闻标题是否有值,若有则封装此搜索条件
//第二问,不输入条件则不显示表格

if(!isset($_GET["mc"]) or empty($_GET["mc"])) die("请输入查询条件");




?>
小罗的小刘 2020-03-14
  • 打赏
  • 举报
回复
有点懵~~~~第一点 //判断关键字是否有值,若有则封装此搜索条件 if(!empty($_GET["mc"])){ $wherelist[]="( mc like '%{$_GET['mc']}%' or hh like '%{$_GET['hh']}%' or txm like '%{$_GET['txm']}%' )"; $urllist[]="mc={$_GET['mc']}"; } or 拼接就好了 第二点没理解错话~~判断是否有参数,没参数就返回空数组
madeinprc 2020-03-14
  • 打赏
  • 举报
回复
我想要这样的查询输入方式
madeinprc 2020-03-14
  • 打赏
  • 举报
回复
引用 2 楼 horizon_zpy 的回复:
<?php //判断新闻标题是否有值,若有则封装此搜索条件 //第二问,不输入条件则不显示表格 if(!isset($_GET["mc"]) or empty($_GET["mc"])) die("请输入查询条件"); ?>
你这个我不知道怎么改,最好能代码上修改完整的我复制进去,谢谢
madeinprc 2020-03-14
  • 打赏
  • 举报
回复
引用 1 楼 夜晚De冷风 的回复:
有点懵~~~~第一点 //判断关键字是否有值,若有则封装此搜索条件 if(!empty($_GET["mc"])){ $wherelist[]="( mc like '%{$_GET['mc']}%' or hh like '%{$_GET['hh']}%' or txm like '%{$_GET['txm']}%' )"; $urllist[]="mc={$_GET['mc']}"; } or 拼接就好了 第二点没理解错话~~判断是否有参数,没参数就返回空数组
按照你的代码更改,但是点查询后无结果,网址显示http://www.***.com/index.php?hh=&mc=得力&txm= 第一点问题就是原来3个输入框,现在想合并成一个输入框,输入条形码或者名称或者货号在一个输入框都能搜索出结果

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧