2014-01-21 112 views
1

我有一個材料表,其中的所有材料插入desc列中。 desc值可以儘可能多。從數據庫調用所有的值到下拉列表

樣本:

desc 
poly canvass 
metal 
washer 
knot 

這是我做的代碼。

<?php 
$resource=mysql_query("Select * from material",$con); 

while($result2=mysql_fetch_array($resource)) 
    { 

    ?> 
<select> 
<option value="<?php echo $result2[desc] ?>"><?php echo $result2[desc] ?></option> 
</select> 

</tr> 
<?php };?> 

但它產生對應四個值在我的分貝 4個下拉,如:

dropdown1  dropdown2  dropdown3  dropdown4 
polycanvass metal   washer   knot 

我怎樣才能讓所有的值在遞減欄出現在一個下拉列表?

+0

我看到一個工作使用'mysql_ *'。不要這樣做。這是一個謊言,由俄羅斯人,中國人或任何你害怕的人提出。當心'mysql_ *',並將您不朽的信念放在'PDO'和'mysqli_ *'的手中。 – christopher

回答

0

從while循環取出選擇標記並放在外面。

我會建議你使用的mysqli替代MySQL的

PHP的MySQLi = PHP MySQL的改進的!

注: MySQLi擴展的設計與MySQL 4.1.13版本或更高版本

<?php 
    $con=mysqli_connect("host","username","password","dbname"); 
    // Check connection 
    if (mysqli_connect_errno()) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    $resource= mysqli_query($con,"SELECT * FROM material"); 

    echo "<select>"; 
    while($result = mysqli_fetch_array($resource)){ 
     echo '<option value="'.$result[desc].'">'.$result[desc].'</option>'; 
    } 
    echo "</select>"; 

    mysqli_close($con); 
?> 
1
<?php 
    $resource=mysql_query("Select * from material",$con); 
    ?> 
    <select> 
    <?php 
    while($result2=mysql_fetch_array($resource)) 
    { 
    ?> 
    <option value="<?php echo $result2[desc] ?>"><?php echo $result2[desc] ?></option> 
    <?php 
    } 
    </select> 
    ?> 

選擇應該是出於while循環,因爲每個也被重複的值,你會最終有多達下拉菜單爲總記錄數。

0
<?php 
    $resource=mysql_query("Select * from material",$con); 
    ?> 
    <select> 
    <?php 
    while($result2=mysql_fetch_array($resource)) 
    { 
    echo '<option value="'.$result2[desc].'">'.$result2[desc].'</option>'; 
    } 
?> 
    </select> 

選擇退出循環和更短的方式來輸出<option>

相關問題