2010-09-21 33 views
0

我正在嘗試使用客戶名稱數組填充HTML選擇列表。我正在使用下面的代碼,但它似乎不工作。我有一個函數查詢SQL Server數據庫並獲取名稱。我知道這工作正常,因爲我在其他代碼中使用它,出於某種原因,當我嘗試填充選擇列表時,它將變爲空白。使用for循環會更好還是更高效?什麼是完成這個最好的方法?從PHP數組填充HTML選擇列表

​​3210
+0

當你var_dump()$ custNames?時,你會看到什麼?這很可能是一個多維數組或只是不是你認爲它是 – 2010-09-21 15:44:47

回答

3

您是否嘗試過使用print_r()var_dump()$custNames。你的foreach循環沒有問題,所以getCustomers()函數很可能返回一個非數組或空數組。

和當然,必須非常小心插入文本的方式。單一雙引號中的任何用戶名的將軟管您形式:

<option value="John "The Unknown" Doe">John "The Unknown" Doe</option> 

至少通過htmlspecialchars()傳遞值部分,使之成爲更加安全。

+0

+1用htmlspecialchars() – 2010-09-21 15:47:24

+0

感謝您的幫助,我發現當我使用的var_dump它回來了空,當我看着更靠後,我發現一個我的打字錯誤不包括我的功能。這是一個容易的錯誤,但是當你看了一段時間之後,我跳過了很多次。感謝您的幫助,我欣賞它! – Drewdin 2010-09-21 15:57:08

+0

感謝您對htmlspecialchars()的建議! – Drewdin 2010-09-21 15:57:32

0

foreach環是完全沒有問題,只要是getCustomers()返回一個數組(或更具體地說,實現了Traversable接口的對象)。你可能希望做一個var_dump($custNames);來檢查你所擁有的實際上是一個數組,否則你可能會想要更改getCustomers()函數來返回一個數組。