2011-03-12 155 views
0

。對於我的下拉菜單,我需要一些幫助。 。我已經知道如何從數據庫填充下拉列表,但我想要做的是填充我的下拉列表與MySQL服務器中可用的數據庫列表。任何人都可以請幫我用這個適當的編碼。提前致謝!順便說一句,我使用的是PHP。使用數據庫列表填充下拉列表

更新:

.alright我想這:

$sql = "SHOW databases"; 
$result = mysql_query($sql); 
echo '<form method="post" id="try" action="pillar.php">'; 
echo '<select name="batch" id="batch">'; 
echo '<option>'; 
while($r = mysql_fetch_assoc($result)) 
{ 
    $database = $r['Database']; 
echo '<option>'.$database.'</option>'; 
} 

echo '</select><br>'; 
echo '<input type="submit">'; 
echo '</form>'; 

它的作品!但有沒有辦法可以排除任何檢索到的值?因爲我想在我的下拉列表中輸出的是數據庫的批處理列表。但是會發生的情況是,下拉列表包含MySQL的默認數據庫。如「information_schema」和「mysql」。

回答

1
while($r = mysql_fetch_assoc($result)) 
{ 
    if($r['Database'] == 'information_schema' 
     || $r['Database'] == 'test' 
     || $r['Database'] == 'mysql'){ 
    }else{ 
     $database = $r['Database']; 
     echo '<option>'.$database.'</option>'; 
    } 
} 

數據庫(我不想多FALSE運營商在一個單一的if語句,因此,在其他操作)

1

隨着MySQL內適當數據庫權限可查詢SHOW DATABASES

$ignore = array('information_schema', 'mysql', 'test'); 
$sql = "SHOW DATABASES"; 
$q = mysql_query($sql); 
while($r = mysql_fetch_assoc($q)) { 
    $database = $r['Database']; 
    if(!in_array($database, $ignore)) { 
     // do something 
    } 
} 
+0

更優雅。乾杯! – konsolenfreddy 2011-03-12 01:31:00