2011-04-30 63 views
1

下面的代碼是從完美的工作下拉列表中獲取的,然後當我將它放入一個函數中時,它就會破壞它!我在這裏做錯了什麼?在PHP函數中檢索記錄

<?php 

require "connect.php"; 
//create country lists 

function records() { 
    $countryOptions = ''; 
    $query = "SELECT DISTINCT country FROM regions"; 
    $result = mysql_query($query); 
    if (!$result) { 
    $countryOptions = "<option>Error Retrieving Records</option>\n";; 
    } 
    else { 
    while ($row=mysql_fetch_assoc($result)) { 
     $countryOptions .= "<option value=\"{$row['country']}\">"; 
     $countryOptions .= "{$row['country']}"; 
     $countryOptions .= "</option>\n"; 
     } 
    } 
    } 

echo records(); 

?> 
+3

你沒有從函數返回任何東西 - '$ countryOptions'將會丟失 – 2011-04-30 22:22:38

+0

';;'第11行中確實沒有必要;) – Wh1T3h4Ck5 2011-04-30 22:31:15

回答

3

任何地方都不輸出$countryOptions

要麼添加

echo $countryOptions; 

在函數結束或更好,但使用

return $countryOptions; 

,並調用這樣的功能:

echo records(); 

(或實現它,以適應您確切的需求 - 很難說您如何在自己的代碼中使用它)

+0

哦,天啊。我無法相信這是一個愚蠢的錯誤:謝謝你的幫助,有時你看不到你是否盯着它太久了 – 2011-04-30 22:25:04

+0

會發生;另一方面 - 如果在將代碼移入代碼之後出現問題一個函數,通常應該尋找一個變量作用域的問題 - 無論是函數輸入還是輸出。 – Czechnology 2011-04-30 22:27:53

+0

不,不,現在完美。我甚至已經添加了一些變量。我只是忘了返回它,這是整個問題:) – 2011-04-30 22:29:56