2011-03-12 94 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