【问题标题】:I need to select data which contains multiple if statements but data from only one if statement should be shown我需要选择包含多个 if 语句的数据,但应显示仅来自一个 if 语句的数据
【发布时间】:2017-07-22 02:23:19
【问题描述】:

select * from if($personname AND !$fname AND !$surname) 然后 select * from user where name='$personname', if($personname AND $fname AND !$surname) then select * from user where name='$personname' AND fname='$fname', if($personname AND !$fname AND $surname) then select * from user where name='$personname' AND surname='$surname', if($personname AND $fname AND $surname) then select * from user where name='$personname' AND fname=$fname AND surname='$surname',

if(!$personname AND $fname AND !$surname) then select * from user where fname='$fname', if(!$personname AND $fname AND $surname) then select * from user where fname='$fname' AND surname='$surname',

if(!$personname AND !$fname AND $surname) then select * from user where surname='$surname', ORDER BY id ASC LIMIT $limit OFFSET $offset"

【问题讨论】:

  • 那么,有什么问题?
  • 正确吗?这只是我写下的粗略代码。我什至不知道它是否会起作用。

标签: php mysql


【解决方案1】:

您可以像这样添加它们:

$query = '';
if($personname AND !$fname AND !$surname) {
    $query = "select * from user where name='$personname'";

} elseif ($personname AND $fname AND !$surname) {
   $query = "select * from user where name='$personname'";
} // and so on...

所以条件结束后只有一个$query

【讨论】:

  • 你说的是用php代码if语句,然后在里面使用mysql语句吗?
  • 是的,应该是。不要在 mysql 这样做,这会给数据库带来额外的负担,而不是好的做法
  • 好的,所以我必须将 $query 设为全局变量,以便在 if 语句之外使用它,对吧?
  • 它工作得很好。我希望我早日得到了 stackoverflow 的帮助。这是一个非常有用的网站。感谢@Jigar Shah
猜你喜欢
  • 1970-01-01
  • 2018-08-24
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多