Je veux afficher la table Mysql Valeurs archivées dans la zone de sélection. J'ai essayé le code suivant pour afficher . Mais il affiche normalement les valeurs de champ spécifiées en fonction d'écho et non dans la zone de sélection. Je ne sais pas où je me trompe.
$con = mysql_connect("localhost","root","root");
$db = mysql_select_db("Time_sheet",$con);
$get=mysql_query("SELECT Emp_id FROM Employee");
while($row = mysql_fetch_assoc($get))
{
echo ($row['Emp_id']."<br/>");
}
<html>
<body>
<form>
<select>
<option value = "<?php echo($row['Emp_id'])?>" ><?php echo($row['Emp_id']) ?></option>
</select>
</form>
</body>
</html>
De plus, les valeurs de champ doivent être affichées dans l'ordre croissant. Comment atteindre ..
<?php
$con = mysql_connect("localhost","root","root");
$db = mysql_select_db("Time_sheet",$con);
$get=mysql_query("SELECT Emp_id FROM Employee ORDER BY Emp_id ASC");
$option = '';
while($row = mysql_fetch_assoc($get))
{
$option .= '<option value = "'.$row['Emp_id'].'">'.$row['Emp_id'].'</option>';
}
?>
<html>
<body>
<form>
<select>
<?php echo $option; ?>
</select>
</form>
</body>
</html>
PS: Sur une note de bas de page, veuillez ne plus utiliser les fonctions mysql_*
. Jetez un coup d'oeil à this thread pour les raisons.
Vous pouvez facilement le faire comme ça
$con = mysql_connect("localhost","root","root");
$db = mysql_select_db("Time_sheet",$con);
$get=mysql_query("SELECT Emp_id FROM Employee");
<html>
<body>
<form>
<select>
<option value="0">Please Select</option>
<?php
while($row = mysql_fetch_assoc($get))
{
?>
<option value = "<?php echo($row['Emp_id'])?>" >
<?php echo($row['Emp_id']) ?>
</option>
<?php
}
?>
</select>
</form>
</body>
</html>
Vous devez utiliser la boucle while pour afficher l'option dans la zone de sélection. essaye ça ...
$con = mysql_connect("localhost","root","root");
$db = mysql_select_db("Time_sheet",$con);
$get=mysql_query("SELECT Emp_id FROM Employee order by Emp_id");
<html>
<body>
<form>
<select>
<?php
while($row = mysql_fetch_assoc($get))
{
?>
<option value="<?php echo $row['Emp_id']; ?>"><?php echo $row['Emp_id']; ?></option>
<?php
}
?>
</select>
</form>
</body>
</html>
Il existe quelques astuces à offrir qui condenseront le bloc de code pour cette tâche - trop pour simplement commenter sous la réponse acceptée.
Code testé:
if (!$con = new mysqli("localhost", "root", "root", "Time_sheet")) {
echo "Database Connection Error: " , $con->connect_error; // don't show actual error in "production" stage
} elseif (!$result = $con->query("SELECT Emp_id FROM Employee ORDER BY Emp_id")) {
echo "Syntax Error: " , $con->error; // don't show actual error in "production" stage
} else {
echo "<select>";
foreach ($result as $row) {
echo "<option>{$row['Emp_id']}</option>";
}
echo "</select>";
}
if
permet à la fois de déclarer $con
et de rechercher une valeur de retour Falsey en une étape.elseif
permet à la fois de déclarer $result
et de rechercher une valeur de retour Falsey en une étape.else
traitera zéro ou plusieurs lignes de données générées à la suite de la réussite de la requête SELECT.foreach()
et bénéficier d'un accès direct aux données de la ligne via des clés associatives. PHP Référence du manuelUn autre message StackOverflowvalue
à l'intérieur de la balise <option>
SI la valeur est différente de texte entre les balises d'ouverture et de fermeture (<option>the text in here</option>
). Les soumissions de formulaire et les implémentations javascript fonctionneront de la même manière si vous omettez l'attribut redondant value
.Si vous ne souhaitez PAS soumettre une valeur différente dans le champ de sélection plutôt que le texte, voici à quoi la syntaxe peut ressembler:
echo "<option value=\"{$row['Emp_id']}\">{$row['Emp_name']}</option>";
Si vous souhaitez écrire un attribut selected
sur l'une des options en fonction d'une variable préexistante (par exemple, $selected_id
), il peut ressembler à ceci:
echo "<option" , ($row['Emp_id'] == $selected_id ? " selected" : "") , ">{$row['Emp_name']}</option>";
Si vous voulez combiner les deux processus précédents, cela peut ressembler à ceci:
echo "<option value=\"{$row['Emp_id']}\"" , ($row['Emp_id'] == $selected_id ? " selected" : "") , ">{$row['Emp_name']}</option>";
<?php
$con = mysql_connect("localhost","root","root");
$db = mysql_select_db("Time_sheet",$con);
$get=mysql_query("SELECT Emp_id FROM Employee");
?>
<html>
<body>
<form>
<select>
<?php
while($row = mysql_fetch_assoc($get)){?>
<option value = "<?php echo($row['Emp_id'])?>" ></option>
<?php } ?>
</select>
</form>
</body>
<?php
$con = mysql_connect("localhost","root","root");
$db = mysql_select_db("Time_sheet",$con);
$res=mysql_query("SELECT Emp_id FROM Employee");
?>
<html>
<body>
<form>
<select>
<?php
while ($row = $res->fetch_assoc())
{
echo '<option value=" '.$row['id'].' "> '.$row['name'].' </option>';
}
?>
</select>
<form>
</body>
</html>