Php mysql查询中的if参数

Php mysql查询中的if参数,php,mysql,function,variables,Php,Mysql,Function,Variables,我现在有三个不同的PHP页面,它们包含几乎相同的信息,因此为了能够将其缩减为一个页面,我需要在mysql查询中包含一个PHP变量。 今天是这样的: $query1 = "SELECT * FROM `Yrker` WHERE `Kategori` = '1' AND `Bruk` = '1' ORDER BY yearstart DESC, mndstart DESC";` 如果我在地址栏中输入?nobruk=no,我需要从查询行中删除“ANDBruk='1'”。这可能吗?如果可能,怎么可能

我现在有三个不同的PHP页面,它们包含几乎相同的信息,因此为了能够将其缩减为一个页面,我需要在mysql查询中包含一个PHP变量。 今天是这样的:

$query1  = "SELECT * FROM `Yrker` WHERE `Kategori` = '1' AND `Bruk` = '1' ORDER BY yearstart DESC, mndstart DESC";`
如果我在地址栏中输入?nobruk=no,我需要从查询行中删除“AND
Bruk
='1'”。这可能吗?如果可能,怎么可能?

您不想(也不能)在查询中放入
if
;您希望使用
if
根据某些条件创建查询。写这篇文章有很多方法,其中之一就是

if (!empty($_GET['nobruk'])) {
    $query1 = "SELECT ... WHERE `Kategori` = '1' ORDER BY ...";
}
else {
    $query1 = "SELECT ... WHERE `Kategori` = '1' AND `Bruk` = '1' ORDER BY ...";
}
另一种较短的方法是

您不想(也不能)在查询中放入
if
;您希望使用
if
根据某些条件创建查询。写这篇文章有很多方法,其中之一就是

if (!empty($_GET['nobruk'])) {
    $query1 = "SELECT ... WHERE `Kategori` = '1' ORDER BY ...";
}
else {
    $query1 = "SELECT ... WHERE `Kategori` = '1' AND `Bruk` = '1' ORDER BY ...";
}
另一种较短的方法是

一个简单的if语句:

$query1  = "SELECT * FROM `Yrker` WHERE `Kategori` = '1'";
  if ($_GET['nobruk']!='no') {
    $query1.=" AND `Bruk` = '1'";
  }
$query1.= " ORDER BY yearstart DESC, mndstart DESC";
一个简单的if语句:

$query1  = "SELECT * FROM `Yrker` WHERE `Kategori` = '1'";
  if ($_GET['nobruk']!='no') {
    $query1.=" AND `Bruk` = '1'";
  }
$query1.= " ORDER BY yearstart DESC, mndstart DESC";
像这样:

<?php

$query = ($_REQUEST['nobruk'] == "no") ? "SELECT * FROM `Yrker` WHERE `Kategori` = '1' ORDER BY yearstart DESC, mndstart DESC": "SELECT * FROM `Yrker` WHERE `Kategori` = '1' AND `Bruk` = '1' ORDER BY yearstart DESC, mndstart DESC";
echo $query;
?>
像这样:

<?php

$query = ($_REQUEST['nobruk'] == "no") ? "SELECT * FROM `Yrker` WHERE `Kategori` = '1' ORDER BY yearstart DESC, mndstart DESC": "SELECT * FROM `Yrker` WHERE `Kategori` = '1' AND `Bruk` = '1' ORDER BY yearstart DESC, mndstart DESC";
echo $query;
?>

是的,这是可能的,您尝试了什么?是的,这是可能的,您尝试了什么?谢谢,我选择使用您的建议,因为它在我看来是最漂亮的代码。没问题。我个人同意尽可能使用最短的选项。谢谢你,我选择使用你的建议,因为它在我看来是最漂亮的代码。没问题。我个人同意尽可能使用最短的选项。