php通过mysql like搜索关键词查询,所有符合数据遍历出来

php通过mysql like搜索关键词查询,所有符合数据遍历出来,第1张

<?php

$host="localhost"

$username="root"

$password="root"

$db="db4" //库名

$mysql_table="person" //表名

//连接数据,面向过程

$conn=mysqli_connect($host,$username,$password)

if(!$conn){

echo "数据库连接失败"

exit

}

//选择所要 *** 作的数据库

mysqli_select_db($conn,$db)

//设置数据库编码格式

mysqli_query($conn,"SET NAMES UTF8")

//编写sql获取分页数据 SELECT * FROM 表名 LIMIT 起始位置,显示条数

//注意:以下id,name,age,say都是字段节点名,person是表名,db4是数据库名,think是指定的关键字.

$sql = 'SELECT id, name, age, say

FROM person

WHERE say LIKE "%think%" order by id ASC LIMIT '.($page-1)*$pageSize .",{$pageSize}"

//节点名 关键字 节点名 可指定数量limit后可写一个指定的数字

//$sql="select * from $mysql_table"

//把sql语句传送到数据库

$result=mysqli_query($conn,$sql)

//将数据显示到table中,并未table设置格式

echo "<div class='content'>"

echo "<table border=1 cellspacing=0 width=30% align=center>"

echo "<tr><td>ID</td><td>NAME</td><td>say</td></tr>"

while ($row = mysqli_fetch_assoc($result)) {

echo "<tr>"

echo "<td>{$row['id']}</td>"

echo "<td>{$row['name']}</td>"

echo "<td>{$row['say']}</td>"

echo "<tr>"

}

echo "</table>"

echo "</div>"

//释放结果

mysqli_free_result($result)

//关闭数据库

mysqli_close($conn)

两种方法

第一种是修改查询语句,在查询语句中去除重复项

select distinct 列名 from 表明    只适用于查询单列数据,网上的查询多列的方法试过一些,都报错

第二种方法是把查到的数据先读进一个数组,然后使用array_unique()函数去除重复项,再使用foreach遍历数组来拼凑下拉框选项

$arr=[]

while($row = mysql_fetch_array($result)) {

    array_push($arr,$row[Keyword])//读进数组

}

$arr=array_unique($arr)//去除重复项

foreach ($arr as $key => $val) {

    echo "<option value='$val'>$val</option>"//循环,拼凑下拉框选项

}

希望能帮到你


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10041808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存