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

HTML Discussion :

[DEBUTANT]ne pas pouvoir cliquer sur certains champs d'une liste deroulante


Sujet :

HTML

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut [DEBUTANT]ne pas pouvoir cliquer sur certains champs d'une liste deroulante
    bonjour

    voila ,


    j'ai une liste de types de documents et je voudrai en mettre certains en gris (en fait cette liste apparait lorsque une personne veut creer un nouveau document eur elle veut choisir un type (que ce qoit un type parent, un sous type ou un sous sous type)




    les champs a mettre en gris sont ceux pour lesquels la persnne connectee n'a pas ete mise dans la liste des redacteurs autorises de ce type))


    la requete sql suivante me permet d'avoir la liste des types autorises pour une personne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    $query="SELECT TD.NUM_TYPE AS id,TYPE_PARENT AS parent_id,  libelle_type AS name
     
      FROM type_document TD, type_user TU
      where TD.NUM_TYPE= TU.NUM_TYPE
         AND TU.NUM_USER=".$ged_user['NUM_USER']."
         AND TU.role=".GED_REDAC_ROLE;
    je vous remercie par avance

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    tu te compliques la vie là, tu n'as qu'à afficher dans ta liste déroulante que les types dont la personne à accès : tu crées ta liste déroulante en fonction du type de l'utilisateur.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    ahhh si tout pouvait etre aussi simple mais voila je ne peux pas faire ca!

    pour une simple raison :

    on ne le voit pas dans la copie d'ecran que j'ai postee mais en fait c'est un arbre de types avec plusieurs types certains types sont des sous sous types d'autres types

    et si j'affiche juste les types autorises l'utilisateur ne sait pas quelle est la hierarchie et quel types est le sous type de l'autre ou le parent

  4. #4
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    tout simplement en ajoutant:

    dans tes balises options à désactiver.

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ou alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(autorisation){
       <lien>Texte</lien>
    }
    else{
       Texte
    }

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    merci!!!! d'avoir pris le temps de me repondre c'est vraiment gentil d'essayer de m'expliquer

    d'apres ce que j'ai compris je dois avoir une variable qio est vraie ou faux si le type est autorisé

    mais comment je fais?

    j'ai ecrit precedemment ma requete sql pour avoir la liste des types autorises
    comment je reutiliose cette liste pour verfier pour chaque type si il appartient bien a cette liste autorisee?

    en tous cas je fais comme vous m'avez dit
    merci

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    excusez moi pour le double post

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    mon truc complet c ca

    <?php
    query
    ="SELECT TD.NUM_TYPE AS id,TYPE_PARENT AS parent_id,&#160;&#160;libelle_type AS name
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;FROM type_document TD, type_user TU
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;where TD.NUM_TYPE= TU.NUM_TYPE
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;AND TU.NUM_USER="
    .$ged_user&#91;'NUM_USER']."
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;AND TU.role="
    .GED_REDAC_ROLE;
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
    &#160;&#160;&#160;&#160;&#160;&#160;
    $resultat = db_send_query($lang_error&#91;'sql select failed'], $query, $dbh);&#160;&#160;&#160;&#160;&#160;&#160;
    &#160;&#160;&#160;&#160;&#160;&#160;
    &#160;&#160;&#160;&#160;&#160;&#160;
    $tab = db_result2array($resultat);
    &#160;&#160;&#160;&#160;&#160;&#160;for(
    $i=0; $i<sizeof($tab); $i++){
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if((
    $tab&#91;$i]&#91;'abrege_type']!=NULL) && $autorisation)
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
    $tab&#91;$i]&#91;'name'] = "<span class=\"abbr\">".$tab&#91;$i]&#91;'abrege_type']."</span> : ".$tab&#91;$i]&#91;'name'];
    &#160;&#160;&#160;&#160;&#160;&#160;}
    &#160;&#160;&#160;&#160;&#160;&#160;
    db_data_seek($resultat,0);
    &#160;&#160;&#160;&#160;&#160;&#160;
    $types_org = get_types_array_ids($tab);
    &#160;&#160;&#160;&#160;&#160;&#160;
    &#160;&#160;&#160;&#160;&#160;&#160;
    $vide = (db_num_rows($resultat)==0) ? TRUE : FALSE;
    &#160;&#160;&#160;&#160;&#160;&#160;



    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com
    avec dans la partie html

    <tbody>
    <?php&#160;&#160;&#160;&#160;&#160;&#160;
    if(!$vide){
    $color_admin_types = 0;
    echo
    get_types_org($types_org, "table");
    }
    ?>
    </tbody>
    Colorez votre code PHP sur les forums grâce à Developpez.com
    avec les fonctions utilisees qui sont des fonctions recursives pour afficher la liste des types sous forme d'arbre

  9. #9
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    une fois que tu as fait ta requête SQL et que tu as le résultat dans un tableau tu compares les valeurs de ce tableau à celle qui se trouve dans ta liste. Pour ça utilise les fonction PHP sur les tableaux.

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    je vais regarder le lien donné merci :


    en fait j'avais esayé ca:

    <?php
    $query
    ="SELECT TD.NUM_TYPE AS id, TYPE_PARENT AS parent_id,**libelle_type AS name
    FROM type_document TD"
    ;

    $resultat = db_send_query($lang_error['sql select failed'], $query);******
    ******
    $tab = db_result2array($resultat);
    ******
    for(
    $i=0; $i<sizeof($tab); $i++){
    ******
    ******
    $query2="SELECT TD.NUM_TYPE AS id,**libelle_type AS name
    FROM type_document TD, type_user TU
    where TD.NUM_TYPE= TU.NUM_TYPE
    AND TU.NUM_TYPE = "
    .$tab[$i]['NUM_TYPE']."
    AND TU.NUM_USER="
    .$ged_user['NUM_USER']."
    AND TU.role="
    .GED_REDAC_ROLE;
    ************
    $resultat2 = db_send_query($lang_error['sql select failed'], $query2, debug);******
    $vide2 = (db_num_rows($resultat2)!=0) ? TRUE : FALSE;
    ******************
    ******************
    if( (
    $tab[$i]['abrege_type']!=NULL)**&& $vide2) $tab[$i]['name'] = "<span class=\"abbr\">".$tab[$i]['abrege_type']."</span> : ".$tab[$i]['name'];

    ******}

    db_data_seek($resultat,0);
    $types_org = get_types_array_ids($tab);
    ******
    $vide = (db_num_rows($resultat)==0) ? TRUE : FALSE;
    ******


    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com
    mais ca ne marche pas et l'erreur qui est affichee est :



    Requete :
    SELECT td.num_type as id, libelle_type as name
    FROM type_document td, type_user tu
    WHERE td.num_type= tu.num_type
    AND tu.num_type=
    AND tu.num_user=
    AND tu.role=1
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND TU.NUM_USER= AND TU.role=1' at line 5


  11. #11
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Citation Envoyé par eclipse012
    Colorez votre code PHP sur les forums grâce à Developpez.com
    mais ca ne marche pas et l'erreur qui est affichee est :
    Requete :
    SELECT td.num_type as id, libelle_type as name
    FROM type_document td, type_user tu
    WHERE td.num_type= tu.num_type
    AND tu.num_type=
    AND tu.num_user=
    AND tu.role=1
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND TU.NUM_USER= AND TU.role=1' at line 5
    Pourtant j'ai testé ton code dessus et il a l'air de fonctionner (d'ailleur le code que tu as affiché est coloré)

  12. #12
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    ben il est coloré parce que j'ai utilise l'outil de votre signature


    vous etes sur que chez vous ca marche? ca ca rend les choses encore plus etranges

  13. #13
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    attend, je comprends plus rien là : c'est le colorateur ou c'est le code qui ne marche pas?
    Tu devrais faire un echo de $tab[$i]['NUM_TYPE'] avant ta requête SQL car je pense que ça ne contient pas ce que tu espères

  14. #14
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    oui c'est le code qui pose probleme ....et vous avez raison
    $tab[$i]['NUM_TYPE'] ca n'affiche RIEN

    par contre $tab[$i]['name'] ca affiche tous les types

  15. #15
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Citation Envoyé par eclipse012
    Requete :
    SELECT td.num_type as id, libelle_type as name
    FROM type_document td, type_user tu
    WHERE td.num_type= tu.num_type
    AND tu.num_type=
    AND tu.num_user=

    AND tu.role=1
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND TU.NUM_USER= AND TU.role=1' at line 5
    C'est assez explicite non ?

    Tes variables $tab[$i]['NUM_TYPE'] et $ged_user['NUM_USER'] sont vides.

  16. #16
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    oui j'ai compris

    n'oubliez pas que je suis debutante donc doucement....

    je vais corriger ca

  17. #17
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Citation Envoyé par eclipse012
    oui j'ai compris

    n'oubliez pas que je suis debutante donc doucement....

    je vais corriger ca
    Il n'y avait aucune méchanceté dans mon post, désolé s'il t'a paru sec. ^^

  18. #18
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Regarde ce que contient $tab[$i]['NUM_TYPE'].
    Tu es sure que c'est un tableau de tableau déjà ?
    En suite es-tu sure que $i ne sort pas des bornes du tableau?
    Et pour finir es-tu sure que $tab[$i] contient une case ayant comme clé (pas comme valeur) un champ qui s'appelle NUM_TYPE ?

    Vérifies tout ça et dis nous ce qui se passe

    [edit]nous avons à faire à une demoiselle apparement donc je corrige les faute de conjugaison (en gras)

  19. #19
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    a ok merci

    maitenant que je sais ce que voulais dire l'erreur precedente est ce que vous voulez bien m'expliquer en quoi peut consister l'erreur ici :

    j'ai change la ligne

    AND TU.NUM_TYPE = ".$tab[$i]['NUM_TYPE']."

    par

    AND TU.libelle_type = ".$tab[$i]['name']."


    Requete :
    SELECT td.num_type as id, libelle_type as name
    FROM type_document td, type_user tu
    WHERE td.num_type= tu.num_type
    AND td.libelle_type=mode opératoire
    AND tu.num_user=2
    AND tu.role=1
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Opératoire AND TU.NUM_USER=2 AND TU.role=1' at line 4


    du coup la ce n'est plus vide mais il y un probleme de syntaxe


    mr prince de beller: merci pour toutes ces indications

    j'examine ca de suite

  20. #20
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Citation Envoyé par eclipse012
    mr prince de beller:...
    Alors là il y a des trucs avec lesquels on ne rigole pas... on dit prince de Bel-Air pas beller

    Quand tu as une erreur de ce style
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Opératoire AND TU.NUM_USER=2 AND TU.role=1' at line 4
    il faut regarder avant le premier terme entre côte habituellement (en l'occurence c'est opératoire).
    Là tu as un problème car "mode opératoire" est en 2 mots je pense et tu ne l'as pas mis entre guillemets .

Discussions similaires

  1. [ODBC] Affichage de certain champ d'une liste
    Par nawak.seb dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/08/2008, 11h54
  2. Réponses: 8
    Dernier message: 19/11/2007, 18h47
  3. comment mettre certains champs d'une liste deroulante en gris
    Par eclipse012 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/09/2006, 17h26
  4. [Onchange] sur checkbox selection ds une liste deroulante
    Par maxxou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/01/2006, 00h17
  5. cmt selectionner tout les champ d'une liste deroulante
    Par mangamat dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/03/2005, 10h08

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