如何执行if ... else语句与sql关联

时间:2015-01-13 08:09:49

标签: mysql sql

我可以创建会影响我的sql的if ... else语句吗?以下是我的代码 SQL语句

$sql= "SELECT  * FROM   maklumatakaun 
        LEFT JOIN detailakaun ON maklumatakaun.id = detailakaun.id 
        LEFT JOIN maklumatbilakaun ON maklumatakaun.NoAkaun = maklumatbilakaun.NoAkaun 
        LEFT JOIN kodjenisakaun ON detailakaun.KodJenisAkaun = kodjenisakaun.KodJenisAkaun
        LEFT JOIN kodlokasi ON detailakaun.KodLokasi = kodlokasi.KodLokasi
        LEFT JOIN kodkategori ON maklumatakaun.KodKategori = kodkategori.KodKategori        
        LEFT JOIN koddaerah ON maklumatakaun.KodDaerah = koddaerah.KodDaerah
        WHERE maklumatakaun.KodKategori = '$KodKategori' 
        AND detailakaun.KodJenisAkaun = '$KodJenisAkaun'
        AND maklumatakaun.KodDaerah = '$KodDaerah' 
        AND maklumatbilakaun.BulanBil = '$BulanBil' 
        AND maklumatbilakaun.TahunBil ='$TahunBil' 
        GROUP BY maklumatakaun. NoAkaun ";

用户可以选择哪个' daerah'通过在包含数据库选项

的下拉框中选择他们想要查看的报告
<?php include('dbase.php');
$sql = "SELECT KodDaerah, NamaDaerah FROM koddaerah";
$result = mysql_query($sql);
echo "<select name='KodDaerah' id='KodDaerah' class='input_field' required />
<option>Pilih Daerah</option>
<option value='all'>Seluruh Pahang</option>";
while ($kod = mysql_fetch_array ($result)){
echo "<option value=".$kod['KodDaerah'].">" .$kod['NamaDaerah']."</option>";
}
echo "<?select>";
?>

所以,让我们说他们想要看到所有的daerah,我该怎么做?他们可以选择所有&#39;在下拉框中但是我应该怎么写我的if ... else语句?

2 个答案:

答案 0 :(得分:0)

我不确定这是不是你想知道的......

SELECT IF(column_1 = 5, 'if value is 5 ', 'else') FROM table_name;

您也可以在WHERE子句中使用它。

答案 1 :(得分:0)

在我看来最简单的事情(可能有点凌乱)是将一个where变量添加到sql中

   $where = '';
    $sql= "SELECT  * FROM   maklumatakaun 
            LEFT JOIN detailakaun ON maklumatakaun.id = detailakaun.id 
            LEFT JOIN maklumatbilakaun ON maklumatakaun.NoAkaun = maklumatbilakaun.NoAkaun 
            LEFT JOIN kodjenisakaun ON detailakaun.KodJenisAkaun = kodjenisakaun.KodJenisAkaun
            LEFT JOIN kodlokasi ON detailakaun.KodLokasi = kodlokasi.KodLokasi
            LEFT JOIN kodkategori ON maklumatakaun.KodKategori = kodkategori.KodKategori        
            LEFT JOIN koddaerah ON maklumatakaun.KodDaerah = koddaerah.KodDaerah
            WHERE maklumatakaun.KodKategori = '$KodKategori' 
            AND detailakaun.KodJenisAkaun = '$KodJenisAkaun'
            AND maklumatbilakaun.BulanBil = '$BulanBil' 
            AND maklumatbilakaun.TahunBil ='$TahunBil' 
            ".mysql_real_escape_string($where)."
            GROUP BY maklumatakaun. NoAkaun ";



if($KodDaerah != 'all'){
  $where .= "AND maklumatakaun.KodDaerah = '$KodDaerah' "; //Add your where statement here
  //Whatever you want to do
}