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 :

Créer des array javascript avec pour Nom la valeur d'une variable php


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Points : 97
    Points
    97
    Par défaut Créer des array javascript avec pour Nom la valeur d'une variable php
    Bonjour à tous,

    Ca commence à s'embrouiller les pinceaux, voilà le topo.

    1. Une boucle php/mySql affiche des images avec leurs propriétes (Taille, poids, type)
    2. Lorsque l'on clic dessus cela appel "magnificPopup" qui est une lightBox (plein écran)
    3. Les infos de l'image sont envoyées dans le script magnificPopup par le biais des balises Tittle, id et name de l'image


    Et dans cette bouce php j'aimerais remplir un array js (avec les infos de l'image) pour l'envoyer dans le script magnificPopup
    pour pouvoir développer des boutons radio à partir de cet array

    Du style : (j'ai nettoyé pour y voir plus clair)
    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
    While(sur les images)
       {
         <script> 
             // Création de l'array 
              nom_image= [];
         </script>
                While(sur les infos[] de l image)
                  {
                    <script> 
                      // Remplissage de l'array
                       nom_image.push("<?php echo Info[1].'|'.Info[2];?>");
                    </script>
                  <?php  } 
       }
    ?>
    Le code utilisé:
    Code php : 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
    <?php 
    // Boucle sur les images
        while ($donnees = $req_photos->fetch())
        { ?>
        	<script type="text/javascript">
                // Création l'array Js pour le remplir ensuite 
                // Le nom est le nom de l'image 
        		var <?php echo $donnees['Nom']; ?> = []; 
        	</script>
              <!-- Affichage de l'image -->
            	   <a href="<?php echo $donnees['Chemin'].$donnees['Nom']; ?>" title="<?php echo $donnees['Nom']; ?>" id="<?php echo $donnees['id']; ?>" name="<?php echo $donnees['Chemin'];?>"> 
                       <!-- Les valeurs des balises tittle, id et name sont utilisées dans le script de magnificPopup plus bas -->
            	  	<img src="<?php echo $donnees['Chemin'].$donnees['Nom']; ?>"/>
            	</a>
            	  			<?php 
            // Boucle sur les Infos de l'image 
                           $tags->execute(); 
          			while($Infos=$tags->fetch())
          				{ ?>
            				<script type="text/javascript">
                                                        // Ici ajout dans l'array Js des Infos de l'image
              					 <?php echo $donnees['Nom']; ?>.push('<?php $Infos['Format'].'|'.$Infos['Finition'];?>');
            				</script>
       						<?php }
        } 
    <?php 
        } 
        // Fin Boucle sur les images 
    ?>
    <script type="text/javascript">
    $('.parent-container').magnificPopup({ // Script magnificPopup 
    delegate: 'a', type: 'image',
    image: {
    	titleSrc: function(item) {
                        // Récupération des valeur des balises tittle, id et name de l'image afin de les afficher dans le plein ecran
                               var caption_nom = item.el.attr('title');
                              var caption_id = item.el.attr('id');
                              var Chemin = item.el.attr('name');
            // Affichage des infos de l'image dans le plein ecran
                     return ' Image: '+caption_nom+' Id: '+caption_id+' Chemin: '+Chemin; 
              // Et c'est là que j'aimerais récupérer l'array qui a été créé dans la boucle Infos 
              // dont le nom est le même que caption_nom de la balise tittle
    			}
    		},
    	});
    </script>

    Je pense qu'ensuite il va y avoir le problème dans le return lors du développement de l'array (avec un foreach),
    car l'idée est de pouvoir créer des boutons radio avec les valeurs de l,'array.

    C'est un peu le bazar, tout ça, non ?
    Qu'en pensez-vous ?

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    quel interet de faire une boucle pour inserer à chaque fois une bailse script ...

    Perso je passerais direct par un echo json_encode d'un array littéral php ...

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Points : 97
    Points
    97
    Par défaut
    Ok, merci de la réponse

    J'ai trouvé ca pour json_encode
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?  
        $array = array(
        'val1' => 'a',
        'val2' => 'b',
        'val3' => 'c'
        );
       echo json_encode($array);
    ?>

    Ma question c'est:
    comment appeler le tableau dans le javascript ?
    Sous quel nom est-il enregistré ?


  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?  
        $array = array(
        'val1' => 'a',
        'val2' => 'b',
        'val3' => 'c'
        );
       echo '<script type="text/javascript">
                   var ArrayJS= '. json_encode($array).';
                   console.log(ArrayJS);
                </script>';
     
    ?>

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Points : 97
    Points
    97
    Par défaut Ok,
    Ok, merci SpaceFrog.

    Ps: je faisais un check des sujets postés que je n'ai pas fermé (résolus.)

    Merci

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

Discussions similaires

  1. Nom du slot pour changer la valeur d'une variable
    Par UnConfiantEtudiant dans le forum Débuter
    Réponses: 9
    Dernier message: 12/09/2014, 22h58
  2. Réponses: 1
    Dernier message: 11/12/2007, 01h24
  3. Réponses: 2
    Dernier message: 21/09/2007, 17h27
  4. Réponses: 1
    Dernier message: 23/04/2007, 13h22
  5. Réponses: 3
    Dernier message: 26/02/2007, 10h52

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