Affichage d'un menu déroulant

Résolu
cs_chris tuckers Messages postés 137 Date d'inscription jeudi 8 septembre 2005 Statut Membre Dernière intervention 7 mars 2008 - 9 nov. 2005 à 17:31
cs_chris tuckers Messages postés 137 Date d'inscription jeudi 8 septembre 2005 Statut Membre Dernière intervention 7 mars 2008 - 9 nov. 2005 à 17:46
Bonjour, une petite question, qui ne devrait pas trop vous poser de problème :

j'ai crée un menu déroulant tout simple relié à ma base pour qu'il aille directement chercher les champs. Seulement le problème, c'est que dans ma table, certains champs sont vides (parce que je ne les ai volontairement pas remplis). Et donc dans mon menu déroulant, j'ai des lignes blanches qui s'affichent, et je ne trouve pas ça très correct. Comment faire pour enlever les lignes blanches ?

(ci dessous, mon select pour le menu déroulant)

<select name="part_ste" class="champ" style="width:140px; font-weight:bold">
<option value="NONID">NONID</option>
<optgroup label="merci de choisir">
<?
$query = "SELECT * FROM partenaires ORDER BY part_ste";
$result = mysql_query($query) or die ("Lecture des demandes impossible

");
$nb_result_mbr = mysql_num_rows($result);
while ($row = mysql_fetch_array($result))

{
$part_id=$row[part_id];
$part_ste = $row[part_ste]; ?>
<? if($part_ste==$part_id){$sel[$part_id]="selected";}?>
<option style="font-weight:bold " value="<?=$part_id?>" >
<?=$part_ste?>
</option>
<? } ?>
</optgroup>
</select>


chris tuckers, l'as de coeur

3 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 9
9 nov. 2005 à 17:39
Salut gent !



Bof, c'est une question beaucoup plus intéressante que la moyenne...



Moi, je le jouerais dans la requète SQL :

SELECT * FROM partenaires WHERE part_ste!= '' AND part_id!='' ORDER BY part_ste



Mais tu peux aussi le faire coté PHP (moins bien)

while ($row = mysql_fetch_array($result)) {

$part_id=$row[part_id];

$part_ste = $row[part_ste];

if( !$part_id or !$part_ste ) continue; // passer au suivant si aucun texte significatif dans part_*





Voili, Bonne chance pour la suite
3
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
9 nov. 2005 à 17:44
Un truc dans le genre peut être ??



<select name="part_ste" class="champ" style="width:140px; font-weight:bold">

<option value="NONID">NONID</option>

<optgroup label="merci de choisir">

<?php

$query = "SELECT * FROM partenaires ORDER BY part_ste";

$result = mysql_query($query) or die ('Lecture des demandes impossible

');

$nb_result_mbr = mysql_num_rows($result);

while ($row = mysql_fetch_array($result)) {

$part_id=$row[part_id];

$part_ste = $row[part_ste];

if($part_ste==$part_id) $sel[$part_id]='selected';

if (!empty($part_ste)) {

echo '<option
style="font-weight:bold"
value="'.$part_id.'">'.$part_ste.'</option>';

}

}

?>

</optgroup></select>



Kohntark-
0
cs_chris tuckers Messages postés 137 Date d'inscription jeudi 8 septembre 2005 Statut Membre Dernière intervention 7 mars 2008
9 nov. 2005 à 17:46
et bah merci beaucoup de cette réponse rapide claire et efficace, ca marche comme sur des roulettes, Merci beaucoup

chris tuckers, l'as de coeur
0