2012-10-24 106 views
-2

我需要幫助來解決我的問題。我不能讓我的選擇,以顯示92次,我寫的指令這一點,但它只能顯示一個選擇與價值形態的數據庫,我怎麼能做到這一點... 我的代碼:在PHP中下拉列表

<?php 
    $con = mysql_connect("localhost","root","sergios.com"); 
    if (!$con) 
     { 
     die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("phptests", $con); 

$result = mysql_query("SELECT * FROM Category"); 

for($i=1;$i<92;++$i){ 
    echo "<select>"; 
     while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) 
    { 
    echo "<option>" . $line['name'] . "</option>"; 
    } 
     echo "</select>"; 
     } 

    ?> 
+0

[**請不要在新代碼**中使用'mysql_ *'函數](http://bit.ly/phpmsql)。他們不再被維護,[棄用過程](http://j.mp/Rj2iVR)已經開始。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

+0

我知道謝謝:) – SoftSergios

+1

你的意思是說你有92個值,但是在92個選項中顯示的是相同的值?或者你的問題是你想要顯示92個選項,但你有時會有更多? –

回答

0

我想你需要92個選擇框需求被顯示。嘗試使用下面的代碼....

$result = mysql_query("SELECT * FROM Category"); 
$options = ""; 
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    $options .= "<option>" . $line['name'] . "</option>"; 
} 
for($i=1;$i<92;++$i){ 
    echo "<select>"; 
    echo $options; 
    echo "</select>"; 
} 
+0

此代碼不能運行92個單獨的查詢嗎?看起來非常無效。 –

+0

92查詢相同的東西? urgh。 – eis

+0

@ eis,@ David我編輯了我的答案...現在看來工作.. – Nauphal

0

你需要在循環外部打開和關閉選擇。因爲你已經循環thrue的結果,你並不需要一個額外的for循環:

$con = mysql_connect("localhost","root","sergios.com"); 
if (!$con)  { 
   die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("phptests", $con); 

$result = mysql_query("SELECT * FROM Category"); 

echo "<select>"; 
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    echo "<option>" . $line['name'] . "</option>"; 
} 
echo "</select>"; 
+1

down投票人:我的回答有什麼問題? – JvdBerg

+0

我還不清楚,你可以寫完整的代碼:),我將不勝感激 – SoftSergios

+0

更新與其餘 – JvdBerg

0

你要構建的選項之外的for循環

$result = mysql_query("SELECT * FROM Category"); 
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    $myOptions .= "<option>" . $line['name'] . "</option>"; 
} 
for($i=1;$i<92;++$i){ 
    echo "<select>"; 
    echo $myOptions;  
    echo "</select>"; 
} 
+0

什麼是在屏幕上92完全相同的選擇點? – JvdBerg

+0

工作oa項目,想要這個:) – SoftSergios

+0

我真的不知道..我用這樣的東西附加商店產品通訊..是真的,我只用了10個產品..不是92 .. –