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 :

Transformer mon mysql_fetch_array en tableau javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Par défaut Transformer mon mysql_fetch_array en tableau javascript
    Bonjour,

    Je dois dans une fonction javascipt transformer une requête mysql(donc finalement un tableau mysql_fetch_array) en un tableau javascript.

    Ce qui me permettra de s'en servir pour remplir un champ de type "select" de mon formulaire.

    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
     <script type="text/javascript">
    function remplir_select
    {
     
    <?php
                                    
    $result=mysql_query('SELECT Num_compte FROM Comptes where nature_compte="Produits"';)  or die ('Erreur SQL !'.mysql_error());;
     
    $tableauPHP=mysql_fetch_array($result);
     
     
    /*   code pour construire un tableau javascript*/
     
     
    ?>	
     
    // Vider mon champ select et le remplir des éléments de mon tableau Javascript obtenu
     
    }
     
    </script>

    Je voudrais ainsi que vous m'aidiez à transformer mon tableau PHP en Javascript ?

    Merci d'avance.

    Cordialement.

  2. #2
    Invité
    Invité(e)
    Par défaut
    salut,

    tu peux faire le classique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while($row=mysql_fetch_array($result)){
     //on push dans un tableau
     $num_comptes[]=$row[0];
    }
    dans le js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var num_comptes = <?php echo json_encode($num_comptes);?>;
    //normalement, num_comptes=[nombre1, nombre2, ...]

    à la syntaxe près

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Par défaut
    Merci je vois bien.

    Maintenant que j'ai un tableau javascript, mon problème devient à mettre le contenu de ce tableau comme éléments d'une liste déroulante select .

    Cordialement

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par madina Voir le message
    Merci je vois bien.

    Maintenant que j'ai un tableau javascript, mon problème devient à mettre le contenu de ce tableau comme éléments d'une liste déroulante select .

    Cordialement
    Tu peux voir la Faq.

    A+.

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Par défaut
    Bonjour,
    ça marchait bien coté client. je gérait ça dans une fonction javascripot, qui remplissait ma liste par ce tableau. que j'avait par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo json_encode($tableau_php)?>
    Mais comme quand j'envoie les infos à en mode serveur, je perds ma liste rechargée d'où j'ai fais appel à ajax.

    J'ai une fonction javascript qui gére la fonction ajax. un fichier php me fait la requête et me retourne le résultat sous forme de tableau php array que j'ai du mal à exploiter. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ( [0] => 70100 [1] => 71600 )
    Mais je peine à transformer ce tableau php sous forme de tableau javascript.

    un me donne ce message de forme de tableau qui ne peux pas s'appliquer à code de la fonction ajax :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    function modif_select(){
     
     
    				var xhr = getXhr();
    				// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function(){
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 200){
    						montab_ajax = xhr.responseText;
    						// On se sert de innerHTML pour rajouter les options a la liste
    						document.getElementById('js_tab').innerHTML = montab_ajax ;
    						alert(montab_ajax);
    xhr.open("POST","listes_comptes_prod.php",true);
    				// ne pas oublier ça pour le post
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				// ne pas oublier de poster les arguments
    				// ici, l'id de l'auteur
     
     
     
    				var natcompte= '';
                      for (var i=0; i<document.test.natcompte.length;i++)
                    {
      if (document.test.natcompte[i].checked){   
        natcompte = document.test.natcompte[i].value;
                 }
    			 }
     
     
     
     
     
    	/*if (natcompte=='prod')
    				{
    				document.getElementById('ligne_branche').style.display = "";
     
    				}
    				else
    				{
    				document.getElementById('ligne_branche').style.display = none;
    				}*/
     
     
     
    					xhr.send("natcompte="+natcompte);
     
     
    			}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form>
     
    <div id="js_tab" style="display:inline"><input type="text" name="js_tab" id="js_tab"/></div></form>
    fichier php qui est appelé par mon ajax :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     $num_comptes_charg=array();                    
                                                    
    while($row_charg=mysql_fetch_array($res_charg )){
     //on push dans un tableau
     
     
     array_push ($num_comptes_charg,$row_charg['Num_compte']);
    }
    //mysq_free_result($res_charg );
     
    print_r($num_comptes_charg);
    ?>
    Je piétine grave à avoir le tableau javascript sur la base de tableau php retourné par l'appel AJAX !

    si vous avez des solutions, je suis preneur.

    Cordialement

  6. #6
    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
    1) php n'est qu'une machine à écrire ...
    2) ajax ne peux envoyer et recevoir que du string

    => ton code serveur doit rédiger le bon string de d'array

    => lors de la reception (réponse ajax) tu reçois du string que tu dois évaluer ou parser ...
    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 !

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

Discussions similaires

  1. Transformer mon tableau php en un tableau js (50% du travail fait)
    Par beegees dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/03/2009, 11h06
  2. Réponses: 1
    Dernier message: 26/03/2008, 18h21
  3. Réponses: 2
    Dernier message: 23/05/2007, 10h40
  4. [XHTML 1.0] Transformer mon tableau en div
    Par stailer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/05/2005, 18h50

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