IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

listbox sans doublon avec disabled


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut listbox sans doublon avec disabled
    Bonjour,
    j'ai deux tables : membre et dpf (liste de tous les departements de france),
    j'ai créé une liste box contenant la liste des départements dans cette liste je voudrais mettre en disabled un departement où il n' y a pas de membre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    $sql="SELECT * FROM membre";
    		$res=mysql_query($sql);
    		$result = mysql_fetch_assoc($res);
    		$id=$result['numM'];
     
    		$sql1 = 'SELECT D.numDep, D.dept, M.numDep ';
    		$sql1.= 'FROM  membre M , dptf D ';
    		$sql1.= 'WHERE M.numDep = D.numDep';
    		$res = mysql_query($sql1)  or die ('Erreur : '.mysql_error() );
    		echo "<select name=\"dep\">";
    		while($dep=mysql_fetch_assoc($res)){
    			$dept = $dep['dept']; 
    	/*		if($???je bloque???==0){
    				$exist="disabled='disabled'";
    			}else{
    				$exist="";			
    			}*/
    			echo "<option value=\"\"  /*$exist*/>$dept";		
    			echo "</option>";
     
    		}
    		echo "</select>";
    ici j'ai l'affichage des departements des membres en doublons
    mais ce que je voudrais c'est la liste de tous les départements et en disabled là où il n'y a pas de membre
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  2. #2
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      $notdisabled = 'SELECT D.numDep, D.dept, M.numDep FROM membre M, dptf D WHERE M.numDep = D.numDep';
      $disabled = 'SELECT numDep, dept FROM dptf WHERE numDep NOT IN (SELECT numDep FROM membre)';
    Après tu met tout dans un tableau que tu tri pour avoir les départements dans l'ordre, et le tour est joué


    Les boutons et existent, servez-vous en

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu devrais plutot faire une requete avec jointure entre les departements et les membres.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    #amoiraud je ne veux pas utiliser de tableaux merci quand même !

    #sabotage pourquoi utiliser une jointure? avec jointure comment faire que toute la liste des départements soit afficher et les départements où il n' y a pas de membre en disabled
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT count(membre), dept, numDep 
    FROM  dptf D LEFT JOIN membre M USING (numDep)
    GROUP BY numDep
    Un truc comme ca devrait marcher
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    OK merci ça fonctionne comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $sql1 = 'SELECT count(M.numM), dept, D.numDep FROM  dptf D, membre M LEFT JOIN membre USING (numDep) GROUP BY numDep';
    		$res = mysql_query($sql1)  or die ('Erreur : '.mysql_error() );
    		echo "<select name=\"dep\">";
    		while($dep=mysql_fetch_assoc($res)){
    			$dept = $dep['dept']; 
    			$numD= $dep['numDep'];
    			echo "<option value=\"".$dep['numDep']."\" $exist>$numD - $dept";		
    			echo "</option>";
    		}
    		echo "</select>";
    et pour le disabled, je ne vois pas comment faire, je ne sais pas quoi mettre dans le if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    if(qqchose){
    	$exist="disabled='disabled'";
    }else{
    	$exist="";			
    	}
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

Discussions similaires

  1. [Débutant] Copie items sélectionnés listbox sans doublon
    Par RKYDA dans le forum VB.NET
    Réponses: 4
    Dernier message: 19/06/2012, 16h11
  2. [XL-2003] Créer un bouton filtre sans doublon avec cellule protégée
    Par sevy1 dans le forum Excel
    Réponses: 12
    Dernier message: 11/01/2012, 19h34
  3. listbox sans doublons
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/02/2009, 22h14
  4. listbox sans doublons
    Par abouhossam dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 22/10/2008, 18h13
  5. ListBox sans Doublons
    Par pobrouwers dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 20/02/2007, 17h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo