2013-02-21 178 views
1

我試圖不重複代碼。有沒有辦法讓這個工作,所以我不必爲三個人寫三次代碼?原諒我的無知:我是初學者。代碼重複(PHP)

$c1 = "Rufus T Firefly"; 
$c2 = "Chicolini"; 
$c3 = "Pinky"; 

for ($i=1; $i<=3; $i++){ 
    $result = mysqli_query($dbc, ' SELECT * FROM voters WHERE choice = "'. $c($i).'" '); 
    //create table... 
} 
+2

嗯,用數組吧?傻我 – 2013-02-21 15:21:34

回答

4

使用IN()

$sql = "SELECT * FROM voters WHERE choice IN('Rufus T Firefly', 'Chicolini', 'Pinky')" 
$result = mysqli_query($dbc, $sql); 

現在沒有循環或需要的陣列(產生你的查詢)。

+0

使用參數佔位符動態生成'IN()'子句作爲讀者的練習。 – 2013-02-21 15:42:09

+0

我試圖根據選擇哪個人創建三個不同的表。此方法創建一個包含所有內容的表... – 2013-02-21 15:53:26

+0

您可以輕鬆地遍歷這些結果,並確定用戶使用「ORDER BY」和某些PHP邏輯進入哪個表。 – 2013-02-21 15:54:19