将记录从MySql数据库加载到选择标记中

时间:2015-03-11 08:31:37

标签: php html mysql

我知道在这个论坛上已经多次讨论过这种话题,但是我测试了很多解决方案,但它对我来说并不起作用!

我想在标签选择中显示MySql数据库中的一组值,这是我的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
 <head>
   <title>Envoyer une image</title>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   <style type="text/css">
    label {
        display:block;
        width:150px;
        float:left;
    }
   </style>
</head>
<body>


<h1>Envoyer une image</h1>
<form enctype="multipart/form-data" action="traitement.php" method="post">
    <p>


<?php
//paramétre de connexion au serveur de base de données et nom de la base
$serveur_db = 'localhost';
$user_db = 'root';
$pass_db = '';
$base_db = 'mybase';

// 1-connexion to server
//**************************************
$connnect = mysql_connect($serveur_db, $user_db, $pass_db);
if(!$connnect){
echo 'echec serveur'; exit();
}

// 2- DB selection
//**************************************
$db = mysql_select_db($base_db);
if(!$db){
echo 'echec base'; exit();
}

// 3- Execution of the request
//**************************************
$query = "SELECT nom_pays FROM pays";
$result = mysql_query($query) or die (mysql_error());
?>

<select name="truc">
<?php
while($line = mysql_fetch_assoc($result)){
echo '<option value="'.$line['nom_pays'].'">'.$line['nom_pays'].'</option>';
}
?>
</select>

<br>
        <label for="nom">Picture1 : </label><input type="text" name="nom" id="nom" /><br />
        <label for="image">Image : </label><input type="file" name="image" id="pic1" /><br />

<label for="nom">Picture2 : </label><input type="text" name="nom" id="nom" /><br />
        <label for="image">Image : </label><input type="file" name="image" id="pic2" /><br />


<label for="nom">Picture3 : </label><input type="text" name="nom" id="nom" /><br />
        <label for="image">Image : </label><input type="file" name="image" id="pic3" /><br />

<label for="nom">Picture4 : </label><input type="text" name="nom" id="nom" /><br />
        <label for="image">Image : </label><input type="file" name="image" id="pic4" /><br />


<br>
        <label for="validation">Valider : </label><input type="submit" name="validation" id="validation" value="Envoyer" />
    </p>
</form>
</body>
</html>

我检查了连接的参数,它们是正确的,但是我有一个空白的slect标签(我的意思是没有值)。

我的代码出了什么问题?提前谢谢

1 个答案:

答案 0 :(得分:0)

我修改了我的代码:

$connnect = mysqli_connect($serveur_db, $user_db, $pass_db,$base_db);
if(!$connnect){
echo 'echec serveur'; exit();
}

$result = mysqli_query($connect, 'SELECT nom_pays FROM pays');

<select name="truc">
<?php
////////---------
if(mysql_num_rows($result)==0){
//if the account doesn't exist
echo "<script>alert(\"the variable is null\")</script>"; 
}
////////---------
while($line = mysql_fetch_assoc($result)){
echo '<option value="'.$line['nom_pays'].'">'.$line['nom_pays'].'</option>';
}
print_r($result);
?>
</select>

当我执行时,我收到此错误消息:

变量为空。