2015-01-13 68 views
0

我可以創建if ... else語句,它會影響我的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,我該怎麼做?他們可以在下拉框中選擇'全部',但是我應該怎麼寫我的if ... else語句?

+0

我只想得到所有結果,並使用AJAX來 –

+0

排序他們爲什麼GROUP BY當沒有集合函數(MAX,SUM,COUNT等)是否涉及?考慮SELECT DISTINCT * FROM ...如果你想刪除重複的行。 – jarlh

+0

我可以不使用AJAX嗎?因爲我沒有真正的AJAX知識 – itsfawwaz

回答

0
在我看來(也許有點凌亂)

最簡單的事情將是一個地方添加變量到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 
} 
0

我不知道這是否是你想知道什麼?

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

您還可以在使用WHERE子句。