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
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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)
    Plus rapide que webkit!
    Chuck Norris n'utilise pas de navigateur. Il lit le code source et imagine la page. Question de gain de temps...

  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 ?
    Plus rapide que webkit!
    Chuck Norris n'utilise pas de navigateur. Il lit le code source et imagine la page. Question de gain de temps...

  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 : 41
    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.
    Tout énigme a une solution ! Tout est question de discipline !

  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, 10h18
  2. Réponses: 2
    Dernier message: 12/08/2012, 18h43
  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, 00h58
  4. [Tableaux] la boucle foreach
    Par jeanfrancois dans le forum Langage
    Réponses: 7
    Dernier message: 09/03/2006, 17h29
  5. [MySQL] select et valeur initiale
    Par dleu dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 18/11/2005, 22h16

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