为了账号安全,请及时绑定邮箱和手机立即绑定

新手小白,如下这段代码,想用于搜索,但不知道该如何添加mysql查询语句,使之能循环查询遍历后的值?

新手小白,如下这段代码,想用于搜索,但不知道该如何添加mysql查询语句,使之能循环查询遍历后的值?

PHP
慕娘9325324 2022-11-20 13:13:00

function strsToArray($strs) { 
$result = array(); 
$array = array(); 
$strs = str_replace(',', ',', $strs); 
$strs = str_replace("n", ',', $strs); 
$strs = str_replace("rn", ',', $strs); 
$strs = str_replace(' ', ',', $strs); 
$array = explode(',', $strs); 
foreach ($array as $key => $value) {
if ('' != ($value = trim($value))) { 
$result[] = $value;
echo $value; 
}
}
return $result; 

//test 
$strs = $_GET["zi"];
var_dump(strsToArray($strs));

查看完整描述

3 回答

?
牧羊人nacy

TA贡献1571条经验 获得超1个赞

<?php

function strsToArray($strs) { 
$result = array(); 
$array = array(); 
$strs = str_replace(',', ',', $strs); 
$strs = str_replace("n", ',', $strs); 
$strs = str_replace("rn", ',', $strs); 
$strs = str_replace(' ', ',', $strs); 
$array = explode(',', $strs); 
foreach ($array as $key => $value) {
if ('' != ($value = trim($value))) { 
$result[] = $value;
}
}
foreach($result as $k=>$v){
$sql="";
$sql="select * from table where 查询字段 = '".$v."' ";
$row = mysql_query($sql);
if($ret = mysql_fetch_assoc($row)){
print_r($ret);
}else{
echo "没有找到值为".$v."的数据";
}
echo "<br>";
}


$strs = $_GET["zi"];
strsToArray($strs);

?>


查看完整回答
反对 回复 2022-11-24
?
红颜莎娜

TA贡献1552条经验 获得超11个赞

//示例代码:index.php


<?php//请求URL示例:http://localhost/index.php?zi=111,zz,ddd//获取参数$strs $_GET["zi"];//调用函数(strsToArray) 构造查询sql条件$where = strsToArray($strs);//连接数据库$con = mysql_connect("localhost","root","root");if (!$con)  {  die('Could not connect: ' . mysql_error());  } mysql_select_db("my_db"$con);//拼装sql、结果如:SELECT * FROM test where 1=1 and title like '%111%' and title like '%zz%' and title like '%ddd%' $sql="SELECT * FROM test where 1=1 ".$where;echo $sql;exit;$result = mysql_query($sql); echo "查询信息如下:";while($row = mysql_fetch_array($result))  {  echo $row['字段2'] . "=====" $row['字段三'];  echo "<br />";  } mysql_close($con);function strsToArray($strs) {$where "";$array array();$strs str_replace(','','$strs);$strs str_replace("n"','$strs);$strs str_replace("rn"','$strs);$strs str_replace(' '','$strs);$array explode(','$strs);foreach ($array as $key => $value) {    if ('' != ($value = trim($value))) {        $where.=" and title like '%{$value}%' ";    }}return $where;}?>


查看完整回答
反对 回复 2022-11-24
?
炎炎设计

TA贡献1530条经验 获得超1个赞

首先连接数据库


$conn = mysql_connect('localhost''root''mypassword'); //连接数据库mysql_select_db('mydatabase'); //选择库mysql_query('set names mycharset'); //设置编码

调用函数得到关键字数组


$arr = strsToArray($strs); //得到要查询的关键字数组

遍历查询


$result array(); //初始化结果数组foreach($arr as $keyword//遍历数组{  $sql "select * from mytable where myfield like '%$keyword%'"//构造SQL语句  $obj = mysql_query($sql); //查询数据库  $result array_merge($result, mysql_fetch_array($obj)); //取得结果数组}$result array_unique($result); //去重


 


查看完整回答
反对 回复 2022-11-24

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信