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 :

Boucle Foreach et selection de valeurs


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 110
    Points : 91
    Points
    91
    Par défaut Boucle Foreach et selection de valeurs
    Bonjour,

    J'ai un ptit script qui me recupère des valeurs d'un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($offres as $offre): 
    echo $offres[ THEME_PREFIX.'_restaurant_offre_item'	]; }
     endforeach;
    Seulement avec cette méthode, il me récupere toutes les lignes du tableau.
    J'aimerais qu'il me resorte uniquement la première valeur !
    Comme par exemple avec for($i = 1; $i <=1; $i++){

    Mais je n'y arrive pas...

    Quelqu'un aurait une idée ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 110
    Points : 91
    Points
    91
    Par défaut
    J'ai testé le reset, ça m'affiche quand meme toutes les lignes du tableau...

    j'ai fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php foreach($offres as $offre): ?>
    <?php echo reset($offre);?>
    <?php endforeach;  ?>

  4. #4
    Membre régulier Avatar de MTroy_
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    J'ai un peu de mal à cerner la syntaxe du code avec cette accolade qui traine
    (soit c'est réécris à l'arrachée dans le poste, soit le script d'origine contient des erreurs).
    Du coup je peine à comprendre de quel valeur on parle.

    $offres est il un array multidimensionnel ?

    Tu souhaites récupérer le premier élément de $offre ou de $offres (j'imagine qu'il doit s'agir de $offre sans quoi pas besoin de boucle) ?
    Dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach($offres as $offre)
       echo array_shift($offre); // shift permet de dépiler le premier élément de chaque sous tableau (à chaque itérations) sans tenir compte tu type d'index de $offres (qu'ils soient numérique ou string)

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 110
    Points : 91
    Points
    91
    Par défaut
    Effectivement il y a une accolade en trop qui traîne

    et mon tableau est multidimensionnel puisque j'ai un titre et une description.

    du coup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo array_shift($offre);
    me renvoie tout les titres de chaque offre...

  6. #6
    Membre régulier Avatar de MTroy_
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Points : 83
    Points
    83
    Par défaut
    Bon, peut on avoir un extract de ton tableau avec son schéma pour aider ?

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 110
    Points : 91
    Points
    91
    Par défaut
    J'ai fais un var_dump de $offre
    c'est ce que tu entends par un extract ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    array(2) { ["title"]=> string(3) "3=2" ["_restaurant_offre_item"]=> string(76) "Séjournez 3 nuits = payez 2 nuits Janvier-Février (hors semaine du 14/02)" } 
     
    array(2) { ["title"]=> string(12) "Demi-pension" ["_restaurant_offre_item"]=> string(61) "Demi-pension Gastronomique 4 plats (pdj inclus) hors boissons" }
     
     array(2) { ["title"]=> string(61) "Demi-pension Gastronomique 5 plats (pdj inclus) hors boissons" ["_restaurant_offre_item"]=> string(133) "Demi-pension Gastronomique 5 plats (pdj inclus) hors boissons Toute l'année Supplément 76€ par pers/jour cf prix des chambres" }
     
     array(2) { ["title"]=> string(90) "Séjour Gastronomique - pdj - 5 plats et 7 plats au restaurant gastronomique-hors boissons" ["_restaurant_offre_item"]=> string(160) "Séjour Gastronomique - pdj - 5 plats et 7 plats au restaurant gastronomique-hors boissons Toute l'année Supplément 76€ par pers/jour cf prix des chambres" }

  8. #8
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    Bonjour,
    tu veux juste récupérer la première soit "Séjournez 3 nuits ..."
    Dans ce cas tu peux faire un break dans ton foreach pour en sortir.

    Sinon le array_shift peut fonctionner aussi, mais sans le foreach. Par contre, il va modifier le contenu de ta table.

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 110
    Points : 91
    Points
    91
    Par défaut
    Bonjour Bebel ,

    Le break fonctionne bien ! Ca me garde la premiere donnée comme je voulais
    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/01/2014, 11h18
  2. Réponses: 2
    Dernier message: 12/08/2012, 19h43
  3. [PEAR][HTML_QuickForm] Select et valeur par défaut
    Par amazilia dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 02/04/2007, 01h58
  4. [Tableaux] la boucle foreach
    Par jeanfrancois dans le forum Langage
    Réponses: 7
    Dernier message: 09/03/2006, 18h29
  5. [MySQL] select et valeur initiale
    Par dleu dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 18/11/2005, 23h16

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