欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

搜索同个表 N个字段的值。

程序员文章站 2022-06-13 23:37:41
...
表1 字段1 字段2

GET来一个值 name

先搜索 字段1 如果没值,在搜索字段2。。这个有人有经验吗?


回复讨论(解决方案)



表1 字段1 字段2

GET来一个值 name

先搜索 字段1 如果没值,在搜索字段2。。这个有人有经验吗?

如果字段1 搜索到N个结果,就循环N个结果,如果1个结果都没在搜索字段2,在循环字段2的值。

如果有 M 个字段,你就搜索 M 次?!
那你就在循环里搜索就是了
反正没有人会这么做的

依次判断下去就是了,不过就是麻烦点。

如果有 M 个字段,你就搜索 M 次?!
那你就在循环里搜索就是了
反正没有人会这么做的

只搜索2个字段,2个字段没搜到结果就退出了。

依次判断下去就是了,不过就是麻烦点。


有什么思路吗?swite 吗?

if ... else 咯

if ... else 咯

$n=$_GET['name']

$sou="select * from xclass where Name like '%$n%'";
$ss=$mysqli->query($sou);
while($s=$ss->fetch_assoc()){
echo $z=$s['Name'];
}
//判断上边的z有没值,没值就搜索 字段2
if(isset($z)){
$zais="select * from xclass where Item1 like '%$n%'";
$zaiss=$mysqli->query($zais);
while($sss=$zaiss->fetch_assoc()){
echo $zaisou=$sss['Item1'];
}
}


$n = $_GET['name'];$sou[] = "select * from xclass where Name like '%$n%'";$sou[] = "select * from xclass where Item1 like '%$n%'";foreach($sou as $sql) {  $rs = $mysqli->query($sql);  if($rs->num_rows) break;}while($sss = $rs->fetch_assoc()){    echo $zaisou=$sss['Item1'];}

$sou[] 变量后边加了个 [] 符号代表什么意思?

代码它是一个数组

更正:
代表它是一个数组

空数组,然后 select 的结果赋值给他?

不是select的结果,是将那个sql串赋值给他。
$arr[]='xx' ; // 是在数组的后面加上一个值为xx的元素 索引从0,1,2,... 递增。