php搜索代码
1. 求高人给一个用php+Mysql实现的简单的数据库查询代码
为了实现一个简单的PHP+MySQL数据库查询,首先需要创建一个查询表单。这个表单可以用来接收用户输入的查询条件。在HTML中,可以使用如下的代码片段来创建查询表单:
<form action="search.php" method="post">
<input type="text" name="searchTerm" placeholder="请输入查询条件" required>
<input type="submit" value="搜索">
</form>
当用户提交表单后,数据会被发送到`search.php`文件进行处理。在`search.php`文件中,需要连接数据库并执行查询操作。以下是一个基本的代码示例:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$searchTerm = $_POST['searchTerm'];
$sql = "SELECT title FROM table_name WHERE column_name LIKE '%$searchTerm%'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "<p>" . $row["title"] . "</p>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
在查询结果页面中,可以展示查询结果的分页信息。例如,以下代码片段可以用来显示分页导航:
<p>共有<?php echo $pages; ?>页(<?php echo $page; ?>/<?php echo $pages; ?>)</p>
<ul>
<?php for ($i=1;$i<$page;$i++) echo "<li>[" . $i . "]</li>"; ?>
<li>[<?php echo $page; ?>]</li>
<?php for ($i=$page+1;$i<=$pages;$i++) echo "<li>[" . $i . "]</li>"; ?>
</ul>
这样,用户就可以通过点击分页按钮来查看不同页的数据。需要注意的是,这里的代码需要根据实际的数据库配置、表结构和字段名称进行相应的调整。
2. php站内搜索怎么做
进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl执行phpize生成编译文件!
phpize在PHP安装目录的bin目录/usr/local/php5/bin/phpize运行时,
可能会报错:Cannot find autoconf. Please check your autoconf installation andthe $PHP_AUTOCONFenvironment variable is set correctly and then rerun thisscript.,需要安装autoconf:yum install autoconf(RedHat或者CentOS)、apt-get installautoconf(Ubuntu Linux)!
执行/usr/local/php5/bin/php -v这个命令时,php会去检查配置文件是否正确,
如果有配置错误,这里会报错,可以根据错误信息去排查!
3. PHP实现搜索查询功能的方法技巧
下面是首页显示数据表package中的内容,但是有个条件,显示在首页的内容还必须是 :字段status=0,且printing=0的数据才能在首页列表中显示出来。
页面上有一个“搜索”功能,输入条件后就会根据条件来进行查询。
一般的搜索的话,只要在首页显示列表方法index()中给一个:
?
$map=array();//初始化查询条件
$map=$this->_search();//调用查询方法
$total = $this->Model->where ($map)->count(); //这个主要是用来计算页面显示数据条数的
if ($total == 0) {
$_list = '';
} else {
$_list = $this->Model->where ($map)->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();
}
然后,就是写一个_search():
protected function _search(){
$map = array ();
$post_data = I ( 'post.' );
if ($post_data ['packageid'] != '') {
$map ['packageid'] = array (
'like',
'%' . $post_data ['packageid'] . '%'
);
}
return $map;
}
最后,在设置的“搜索”菜单中,调用这个搜索方法。
但是,这个搜索的.同时,还要确保在字段status=0,且printing=0的数据中进行搜索。
这个限制条件该加在什么地方。各种尝试和查询后,才知道。限制条件直接加在SQL语句中就行了(如下红色的地方)。(我自己试的时候一直在如下蓝色的地方加条件,屡试屡败!)
$map=array();
$map=$this->_search();
$total = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->count();
if ($total == 0) {
$_list = '';
} else {
$_list = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();
}
更多相关文章推荐:
4. php多条件复合搜索怎么做到
这个用脚本来做更简单些,不用分多次往a.php传参。传一次就行了。
<!--HTML START-->
<!--函数参数推荐写数字,既对应“摩托罗拉”的id,但由于这里你没给出,我索性写上汉字了-->
<a href="javescript:set_made('摩托罗拉')">摩托罗拉</a>
<a href="javescript:set_made('诺基亚')">诺基亚</a>
<a href="javescript:set_made('苹果')">苹果</a>
<a href="javescript:set_price('1000-2000')">1000-2000元</a>
<a href="javescript:set_price('2000-3000')">2000-3000元</a>
<a href="javescript:set_price('3000-5000')">3000-5000元</a>
<a href="javescript:set_os('android系统')">android系统</a>
<a href="javescript:set_os('塞班系统')">塞班系统</a>
<a href="javescript:set_os('苹果系统')">苹果系统</a>
<!--这里的表单隐藏域,只显示一个搜索按钮-->
<form action='' method='post'>
<input id='made' name='made' type='hidden' value='<?php echo $_POST['made'] ?>'/>
<input id='price' name='price' type='hidden' value='<?php echo $_POST['price'] ?>'/>
<input id='os' name='os' type='hidden' value='<?php echo $_POST['os'] ?>'/>
<input type='submit' value = '搜索'/>
</form>
<!--HTML END-->
<!--SCRIPT START-->
<script>
/* @Tips : 这段JS代码可以放到单独的JS文件中去,也可以直接写到head里,随你。
* @Purpose : 这里几个函数分别是把隐藏域中的made、price、os设置成对应的值,点击链接时触发
* @Method : set_made,set_price,set_os
* @Param : str 字符串或者数字,请根据你的需要来决定
* @Return : NULL
*/
function set_made (str) {
document.getElementById('made').value = str;
}
function set_price (str) {
document.getElementById('price').value = str;
}
function set_os (str) {
document.getElementById('os').value = str;
}
</script>
<!--SCRIPT END-->
至于函数参数里你是要添ID 还是添汉字,自己改就行了。
还有你说的那个变色的问题,也不难做,但代码有点长,我懒得写了……
就跟你说一下方法:
首先你要给这几个<a>标签做个CSS类名,比如<a class='test'>,这个test可以不写,主要是用来区别页面其它的<a>标签。当然不写也没关系,只是会让JS脚本稍慢一点。
然后用document.getElementByTageName('a'),获取页面中所有的<a>标签。做个循环,把class不是test的过滤掉,再用他们的innerHTML属性与made、price、os的value属性分别比较,如果是一样的话,就改变它的背景颜色。