php查询结果在html选项中

时间:2013-12-24 17:00:37

标签: php html select option

为什么我得到一个白色的行而不是值?

<select name="select">
    <?php                    
    $connessione = mysql_connect('localhost' , 'root', '') or die("Impossibile connettersi: " .mysql_error());
    mysql_select_db("musica",$connessione);
    $query = mysql_query("SELECT * FROM artisti_preferiti");
    while($row = mysql_fetch_array($query))
    {
        ?><option value="<?php echo $row['nome']; ?>"> <?php echo $row['cognome'];?></option> 
    <?php }?>
</select>

2 个答案:

答案 0 :(得分:1)

我怀疑这是一个数据库连接问题,我成功测试了

请考虑以下事项:

旁注:确保您的设置正确,包括数据库名称和列名称。

数据库连接文件:(db_connect.php)

<?php
$mysql_hostname = 'xxx';
$mysql_username = 'xxx';
$mysql_password = 'xxx';

$mysqli = mysql_connect("$mysql_hostname", "$mysql_username", "$mysql_password");

if($mysqli->connect_errno > 0) {
  die('Connection failed [' . $mysqli->connect_error . ']');
}

?>

PHP(example.php)

<select name="select">
<?php

include 'db_connect.php';

    mysql_select_db("musica",$mysqli);
    $query = mysql_query("SELECT * FROM artisti_preferiti",$mysqli);
    while($row = mysql_fetch_array($query))
    {
        ?><option value="<?php echo $row['nome']; ?>"> <?php echo $row['cognome'];?></option> 
    <?php }?>
</select>

最后一点,不推荐使用mysql_*个函数。请考虑将mysqli_*与预准备语句或PDO一起使用。


修改

MySQLi_ *版本

旁注:最好使用列名而不是SELECT * ---即:SELECT nome, cognome

数据库连接文件:(db_connect_mysqli.php)

<?php
$mysql_hostname = 'xxx';
$mysql_username = 'xxx';
$mysql_password = 'xxx';
$mysql_dbname = 'xxx';

$mysqli = new mysqli("$mysql_hostname", "$mysql_username", "$mysql_password","$mysql_dbname");

if($mysqli->connect_errno > 0) {
  die('Connection failed [' . $mysqli->connect_error . ']');
}

?>

PHP(example_mysqli.php)

<select name="select">
    <?php

include 'db_connect_mysqli.php';

$query = $mysqli->query("SELECT * FROM artisti_preferiti");


    while($row = mysqli_fetch_array($query))
    {
        ?><option value="<?php echo $row['nome']; ?>"> <?php echo $row['cognome'];?></option> 
    <?php }?>
</select>

答案 1 :(得分:0)

我更改了脚本,以便我们可以调试

<?php
$lnk = mysql_connect('localhost' , 'root', '') or die("Impossibile connettersi: " .mysql_error());
mysql_select_db("musica",$lnk);
$q = 'SELECT nome,cognome FROM artisti_preferiti';
$result = mysql_query($q,$lnk);
$numRows = mysql_num_rows($result);
$rows = array();
while($row = mysql_fetch_array($result)) $rows[$row['nome']] = $row['cognome'];
/* show us this!! */
print_r($rows);
?>
<select name="select"><?php
  foreach ($rows as $nome => $cognome) {
    echo "<option value='$nome'>$cognome</option>";
  }
?></select>