2012-06-27 127 views
0

謝謝,非常好的解決方案,這回答了我的問題。 如何使用您的解決方案,如果我的$ SQL如下:我的PHP MySQL語法太長了

$sql = "SELECT * FROM $tbl_main, $tbl_country, $tbl_members 
WHERE ($tbl_main.country_id = $tbl_country.country_id) AND ($tbl_main.member_id = $theselect) ORDER BY $chosenTable.$orderby LIMIT $startpoint, $limit"; 

即我怎樣才能地方使用您的解決方案中的代碼中間。

+0

你真的應該正常化,而不必做這在所有的數據庫。而不是每個國家都有一張桌子,你可能會更好地與所有國家在一張桌子上。 – kba

回答

4

可以有條件地串聯額外的條件:

$sql = "SELECT * FROM $tbl_main, $tbl_country, $tbl_members 
WHERE ($tbl_main.country_id = $tbl_country.country_id)"; 

if(isset($theselect)) { 
    $sql .= " AND ($tbl_main.member_id = $theselect)"; 
} 

$sql .= " ORDER BY $chosenTable.$orderby LIMIT $startpoint, $limit"; 
+0

謝謝你,非常好的解決方案,這回答了我的問題。 如何使用您的解決方案,如果我的$ SQL如下: $ SQL =「SELECT * FROM tbl_main $,$ tbl_country,$ tbl_members \t WHERE($ tbl_main.country_id = $ tbl_country.country_id)AND($ tbl_main .member_id = $ thislect)ORDER BY $ chosenTable。$ orderby LIMIT $ startpoint,$ limit「; 即我如何在代碼中間的某處使用您的解決方案。 – blsn