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

JavaScript Discussion :

Array js, récupération


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Par défaut Array js, récupération
    Bonjour, c'est une question stupide je sais, mais je n'ai pas encore trouvé la solution.

    Je pense qu'en voyant mon code vous comprendrez :
    Le php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?
    $res = mysql_query("SELECT Pseudo FROM Users");
    $azmu = mysql_fetch_array($res);
    echo "<script type='text/javascript'>
    var member = Array(".count($azmu).");\n";
    for ($i = 0; $i < count($azmu); $i++) {
    echo "member[".$i."] = ".$azmu[$i].";\n";
    }
    echo "</script>";
    ?>
    Et le javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type="text/javascript">
    function div(text)
         {
         document.Inscription.pseudo.id = text;
         }
    function chook(log) {
         if(log != '') {
    if (log == member) { div("notro"); }
    else { div("pseudo"); }
    }
    }
    </script>
    En fait, j'essaie de vérifier si tous le pseudo est disponible dans la bdd en vérifiant avec, dans ma page inscription un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onkeyup="chook(this.value)"
    Mais le problème se crée dans la partie :
    member étant le nom de mon array.

    Merci beaucoup d'avance,

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Heu un peu léger comme verif ...
    il suffit de regarder le source pour voir l'array des pseudos ? ..


    mais bon...


    log c'est quoi ? un pseudo ???

    indxeOf sur un join de l'array plutot non ?
    Mais du coup à quoi servirait l'array ... ?

    Scanner l'array ..
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Par défaut
    Heu un peu léger comme verif ...
    il suffit de regarder le source pour voir l'array des pseudos ? ..
    T'inquiètes pas, il y a une autre vérification php derrière.

    log est en effet la valeur du pseudo saisi.

    EDIT : Ce que j'aimerais faire, en fait c'est si le pseudo saisi est présent dans l'Array, l'id devient notro. Sinon, il reprend son id de base, pseudo.

    Mais je ne vois pas comment je pourrait faire ça.

    Merci,

  4. #4
    Membre confirmé Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Par défaut
    Toujours rien ??

    Selon les conseils de quelqu'un, j'ai optimisé mon script en :
    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
    <?
    $res = mysql_query("SELECT Pseudo FROM Users");
    $azmu = mysql_fetch_array($res);
    echo "<script type='text/javascript'>
    var member = Array(".count($azmu).");\n";
    for ($i = 0; $i < count($azmu); $i++) {
    echo "member[".$i."] = ".$azmu[$i].";\n";
    }
    echo "var nuzu = ".count($azmu).";\n";
    ?>
    function div(text)
         {
         document.Inscription.pseudo.id = text;
         }
    function chook(log) {
         if(log != '') {
    for (i = 0; i < nuzu; i++) {
    if (log == member[i]) { div("notro"); }
    else { div("pseudo"); }
    }
    }
    }
    </script>
    Mais cette fois ça me met : "chook is not defined".

    Pourtant le code source compilé est :
    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
    <script type='text/javascript'>
    var member = Array(2);
    member[0] = Valter;
    member[1] = ;
    var nuzu = 2;
    function div(text)
         {
         document.Inscription.pseudo.id = text;
         }
    function chook(log) {
         if(log != '') {
    for (i = 0; i < nuzu; i++) {
    if (log == member[i]) { div("notro"); }
    else { div("pseudo"); }
    }
    }
    }
    </script>
    Là, je ne comprends plus rien

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 5
    Par défaut
    Au moment de la génération du tableau javascript, ne serait-il pas plus "propre" d'indiquer des quotes (voir des doubles si tu préfères ) pour indiquer que c'est une chaine de caractère ??..

    style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ($i = 0; $i < count($azmu); $i++) {
    echo "member[".$i."] = '".$azmu[$i]."';\n";
    }
    Cela devrait permettre d'initialiser le contenu du tableau de façon un peu moins risquée car la génération du la seconde ligne (que tu as pu nous indiquer) ..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    member[0] = Valter;
    member[1] = ;
    ..pourrait être la raison pour laquelle l'appel à la fonction js chook puisse retourner un erreur.


    Après, si cela passe mieux .. il faudra sans doute reprendre cela car la génération du tableau js pourrait te retourner une erreur lorsque les enregistrements de tes "pseudos" comporteront une apostrophe ... (dans ce cas .. passer par un addslashes() par exemple ??)


    mais comme je ne peux pas tester actuellement .. je ne peux pas vérifier les pistes que je te livre ..

  6. #6
    Membre confirmé Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Par défaut
    Et bien merci du tuyau
    Grâce à cela, ça ne me met plus de message d'erreur ! Mais le problème, maintenant est que l'id ne change pas !

    Même si j'écris "Valter" ou tout autre membre présent dans ma base de donnée, l'id ne changera pas ! Elle restera "pseudo" !

    Merci,

  7. #7
    Membre confirmé Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Par défaut
    J'y ai apporté une petite modification mais comme toujours, ça ne marche toujours pas

    Voici maintenant mon code ( tel qu'il se présente dans le code source, pour éviter le confusions ) :

    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
    <script type='text/javascript'>
    var member = Array(2);
    member[0] = 'Valter';
    member[1] = '';
    var nuzu = 2;
    function div(text)
         {
         document.Inscription.pseudo.id = text;
         }
    function chook(log) {
         if(log != '') {
    for (i = 0; i < nuzu; i++) {
    if (log == member[i]) { div("notro"); }
    else { div("pseudo"); }
    }
    }
    }
    </script>
    Merci d'avance,

  8. #8
    Membre expérimenté Avatar de marts
    Inscrit en
    Février 2008
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 233
    Par défaut
    Ta boucle doit s'arrêter dès que tu as trouvé le pseudo, sinon tu auras toujours l'id donné par le dernier pseudo du tableau.

  9. #9
    Membre confirmé Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Par défaut
    Merci beaucoup de ta réponse, mais comment arrêter la boucle une fois lancée ?

  10. #10
    Membre expérimenté Avatar de marts
    Inscrit en
    Février 2008
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 233
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var found=false;
    for (i = 0; i < nuzu && !found; i++) {
    if (log == member[i]) { found=true;div("notro"); }}
    if (!found) div("pseudo");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] récupération de données d'un array
    Par jean_jean dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/04/2012, 12h11
  2. Problème de récupération de valeurs avec Array
    Par l.laurent60 dans le forum Langage
    Réponses: 4
    Dernier message: 27/05/2010, 10h39
  3. Récupération d'un array dans un autre array
    Par slake13 dans le forum Langage
    Réponses: 1
    Dernier message: 14/10/2009, 16h09
  4. Pbl alimentation/récupération dans Array pour autofilter
    Par Antoine D dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/02/2009, 19h16
  5. Récupération variable Array d'un formulaire
    Par mayers dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2008, 17h05

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