Liste déroulante rangée par ordre alphabétique

Résolu/Fermé
Robin2001 Messages postés 3 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 15 février 2013 - 13 févr. 2013 à 17:57
Robin2001 Messages postés 3 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 15 février 2013 - 15 févr. 2013 à 18:08
Bonjour,

Bonjour, une de mes pages propose de sélectionner un secteur lié à une ville pour supprimer le secteur choisi.
Mon problème est que si, pour la liste déroulante des villes, celles-ci apparaissent par ordre alphabétique, ce n'est pas le cas pour les secteurs qui apparaissent dans l'ordre défini lors de la saisie dans la table "secteurs" de la base de données.
J'ai essayé avec l'argument ORDER BY mais cela ne fonctionne pas. Voici le bout de code en question :

<tr valign="baseline">
<td align="right" nowrap class="StyleEnTeteChamps"><div align="left" class="Style5">Ville:</div></td>
<td>
<select name="VILLE" class="StyleChampsObligatoire" id="VILLE" onChange="Remplir_Secteurs()">
<option value="-1">Sélectionner une ville</option>
<?php
mysql_select_db($database_BaseMySQLOTV, $BaseMySQLOTV);
$DT_OTVVILLE = mysql_query("SELECT * FROM villes ORDER BY ville ASC", $BaseMySQLOTV) or die(mysql_error());
$row_DT_OTVVILLE = mysql_fetch_assoc($DT_OTVVILLE);
$totalRows_DT_OTVVILLE = mysql_num_rows($DT_OTVVILLE);

if ($totalRows_DT_OTVVILLE > 0)
{
do
{
echo('<option value="'.$row_DT_OTVVILLE["ID"].'"');

if (isset($_GET['VILLE']) && $row_DT_OTVVILLE["ID"] == $_GET['VILLE'])
echo(' selected');

echo('">'.$row_DT_OTVVILLE["VILLE"].'</option>');
}
while ($row_DT_OTVVILLE = mysql_fetch_assoc($DT_OTVVILLE));
}
?>
</select>
<span class="StyleObligatoires">*</span> </td>
</tr>
<tr valign="baseline">
<td align="right" nowrap class="StyleEnTeteChamps"><div align="left">
<div align="left" class="Style5">Secteur:</div>
</div></td>
<td>
<div id="selectSECTEUR">
<select name="SECTEUR" class="StyleChampsObligatoire" id="SECTEUR">
<option value="-1">Sélectionner un secteur</option>
<?php
if (isset($_GET['VILLE']))
{
mysql_select_db($database_BaseMySQLOTV, $BaseMySQLOTV);
$query_Dt_CP = sprintf("SELECT * FROM secteurs WHERE VILLE = %s", GetSQLValueString("" . $_GET['VILLE'] . "%", "text"));
$Dt_CP = mysql_query($query_Dt_CP, $BaseMySQLOTV) or die(mysql_error());
$row_Dt_CP = mysql_fetch_assoc($Dt_CP);
$totalRows_Dt_CP = mysql_num_rows($Dt_CP);

if ($totalRows_Dt_CP > 0)
{
do
{
echo('<option value="'.$row_Dt_CP['ID'].'"');

if (isset($_GET['SECTEUR']))
{
if ($_GET['SECTEUR'] == $row_Dt_CP['ID'])
echo(' selected');
}

echo('>'.$row_Dt_CP['SECTEUR'].'</option>');
}
while ($row_Dt_CP = mysql_fetch_assoc($Dt_CP));
}
mysql_free_result($Dt_CP);
}
?>
</select>
<span class="StyleObligatoires">*</span></div> </td>
</tr>
<tr valign="baseline">
<td align="right" nowrap class="StyleObligatoires"><div align="left">* champs obligatoires</div></td>
<td> </td>
</tr>
<tr valign="baseline">
<td height="46" align="right" nowrap> </td>
<td><input name="BtnSupprimerOTV" type="submit" class="StyleBouton" id="BtnSupprimerOTV" value="Supprimer le secteur"></td>

J'ai bien essayé de mettre ceci, mais cela ne donne aucun résultat :

$query_Dt_CP = sprintf("SELECT * FROM secteurs WHERE VILLE = %s ORDER BY SECTEUR", GetSQLValueString("" . $_GET['VILLE'] . "%", "text"));


Merci pour votre aide.
A voir également:

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
14 févr. 2013 à 08:57
ORDER BY SECTEUR
si le nom de ton champ secteur est en minuscules alors:
ORDER BY secteur
0
Robin2001 Messages postés 3 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 15 février 2013
14 févr. 2013 à 12:57
Même de cette manière, cela ne fonctionne pas
0
Robin2001 Messages postés 3 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 15 février 2013
15 févr. 2013 à 18:08
Problème résolu. Dans mon script, une fonction Java appelait une autre page PHP. C'est dans cette dernière que je devais ajouter mon ORDER BY.
0