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

Langage PHP Discussion :

Convertir tableau php en jQuery


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Par défaut Convertir tableau php en jQuery
    Bonjour, bonsoir,

    Je bute sur une syntaxe...

    J'aimerais convertir un tableau jQuery comme celui ci dessous...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var listel = [
     
    	"Types = 1;Ingrédients = 2",
    	"Côtés = 1;Champs = 2;Surfaces = 3"
     
    ];
    En tableau php comme ci-dessous...
    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
     
    <?php
    $categories = array(
     
    	array(
     
    		'nom_cat_1' => 'Types',
    		'nom_cat_2' => 'Ingrédients'
     
    	),
    	array(
     
    		'nom_cat_1' => 'Côtés',
    		'nom_cat_2' => 'Champs',
    		'nom_cat_3' => 'Surfaces'
     
    	),
     
    );
    ?>
    Pour pouvoir afficher avec une boucle dans un echo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    $n =1;
    foreach( $categories as $categorie => $value ) :
     
    	echo '"' . $value . ' = ' . $n . ';",';
     
    	$n++;
     
    endforeach;
    ?>
    Pour l'instant avec le echo ci-dessus il m'affiche -> "Types = 1;","Ingrédients = 2;","Cotés = 3;","Champs = 4;","Surfaces = 5;",

    Donc il met des guillemets et virgule en trop
    Mais il me faut :
    "Types = 1;Ingrédients = 2",
    "Côtés = 1;Champs = 2;Surfaces = 3",

    Je ne sais pas si je suis assez clair mais je l'espère.

    Dans l'attente de vos lumières, je vous souhaite une bonne nuit.

  2. #2
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    J'ai relu 4 fois avec plein de bonne volonté... rien compris.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Par défaut
    Salut,

    Me disait bien que bordéliques mes explications.

    Au fait c'est l'inverse de ce que je disais que je souhaite

    Donc en gros, j'ai un tableau PHP comme ceci :
    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
     
    <?php
    $tabCat = array(
     
        array( // Catàgories 1
     
            'Types',
            'Ingrédients'
     
        ),
        array( // Catégories 2
     
            'Côtés',
            'Champs',
            'Surfaces'
     
        )
     
    );
    ?>
    Et je souhaite le covertir en tableau jQuery comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script type="text/javascript">
    var tabCat = [
     
        "Types = 1;Ingrédients = 2",
        "Côtés =1; Champs = 2;Surface = 3"
     
    ];
    </script>
    Désolé pour le smilblick... j'espère que c'est plus clair et merci pour toute l'aide qu'on pourra m'apporter.

    Bonne journée.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,


  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Par défaut
    Je rebondis sur le sujet pour dire...

    Donc au final dans le script jQuery faudrait une boucle foreach php du genre :
    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
     
    <script type="text/javascript">
     
    var tabCat = [
     
        <?php
        $tabCat = array(
     
            array(
     
                'Types',
                'Ingrédients',
     
            ),
            array(
     
                'Côtés',
                'Champs',
                'Surfaces',
     
            )
     
        );
     
        foreach( $tabCat as $cat => $value ) :
     
            // Ici la concaténation pour obtenir le tableau voulu
     
            // "Types = 1;Ingrédients = 2",
            // "Côtés =1; Champs = 2;Surface = 3"
     
            echo ... 
     
        endforeach;
        ?>
     
    ]
    </script>
    3 jours que je galère

  6. #6
    Invité
    Invité(e)
    Par défaut
    1- Soit coté PHP :
    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
    <?php
    foreach( $tabCat as $index => $categorie )
    {
    	$tabCat_js[$index] = [];
    	foreach( $categorie as $idx => $elt )
    	{
    		$tabCat_js[$index][$idx] = $elt.'='.($idx+1).';'; // de la forme 'Types=1;'
    	}
    	$tabCat_js[$index] = implode('',$tabCat_js[$index]); // on concatène
    }
    ?>
    <script>
    var tabCat = <?php echo json_encode($tabCat_js); ?>;
    console.log( tabCat );
    </script>
    2- Soit coté JavaScript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script>
    var tabCat_json = <?php echo json_encode($tabCat); ?>;
     
    var tabCat = [];
    tabCat_json.forEach( function(categorie,index){
    	tabCat[index] = [];
    	categorie.forEach( function(elt,idx){
    		tabCat[index][idx] = elt+'='+(idx+1)+';'; // de la forme 'Types=1;'
    	});
    	tabCat[index] = tabCat[index].join(''); // on concatène
    });
    	console.log( tabCat );
    </script>
    Au choix.

    Dans les 2 cas, on obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array [ "Types=1;Ingrédients=2;", "Côtés=1;Champs=2;Surfaces=3;" ]
    Dernière modification par Invité ; 06/11/2018 à 11h31.

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Par défaut
    Bonsoir à tous,

    Tout d'abord, Merci pour ta réponse jreaux62 !

    Malheureusement je n'ai pas réussi, du moins ça ne marche pas avec ta méthode, ou j'ai raté un truc mais j'ai retourné la chose dans tout les sens et rien à faire.

    Au départ j'ai retranscris ton code comme tu la dis dans ma boucle, en fonction de celle-ci donc, et non.. bon c'est une boucle dans Wordpress, peut-être et même sûrement qu'i y a un truc qui ne joue pas...

    Bref cela dit, j'ai réussi avec à obtenir le même résultat que le tien avec la fonction php join() et c'est exactement ça ce que je veux à un détail près.

    Je te montre la boucle que j'ai fais..
    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
     
    <?php		
    $n = 1;
     
    echo '"';
     
    foreach( $taxonomies as $taxonomy => $tax ) :
     
    	if( $tax->object_type[0] == $cpt ) :
     
    		$cats = array( $tax->labels->name . ' = ' . $n++ . ';' );
     
    		echo join( '', $cats );
     
    	endif;
     
    endforeach;
     
    echo '"';
    ?>
    Bon je te l'accorde c'est un peu primaire mais ça fonctionne et c'est le principal.

    Le tout petit problème que je disais est qu'il affiche un ; (point virgule) à la fin du dernier item... "Types = 1; Ingrédients = 2;"... comme avec ta méthode...
    Au fait tout ça me remplit un <select><option> et il se sert des ;comme séparateurs pour rajouter une balise <option> et comme il y en a un à la fin, ben du coup il met à la fin un <option> vide !

    J'ai essayé de supprimer les derniers ; de chaque item avec un str_replace() et une autre fonction trouvée sur le net qui détecte le dernier item d'un tableau mais en vain... ou il enlève tous les ; de tous les items ou ça ne marche simplement pas... si tu as une piste ou une solution, je suis preneur.

    Dans tous les cas, je te remercie pour ton aide.

    PS. Je regarderai sans faute plus en profondeur ta méthode.

Discussions similaires

  1. Convertir tableau php vers JavaScript
    Par vinkey_33 dans le forum AJAX
    Réponses: 2
    Dernier message: 19/06/2017, 11h05
  2. Convertir un tableau jquery en tableau php
    Par djoufouf dans le forum jQuery
    Réponses: 10
    Dernier message: 16/11/2015, 16h57
  3. [PostgreSQL] Convertir un PostgreSQL tableau en un PHP tableau
    Par franc82 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/06/2009, 13h06
  4. [PHP-JS] convertir tableau php en tableau javascript
    Par stecale dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/11/2006, 17h09
  5. convertir tableau d'entier en char[]
    Par nin47 dans le forum C
    Réponses: 20
    Dernier message: 12/10/2005, 20h03

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