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 :

utilisation de foreach


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut utilisation de foreach
    Bonjour,

    voila je voulais afficher les nouveaute des produits, mais cela ne fonctionne pas pour les illustrations l'echo dans la 2 boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     (foreach( $tab as $IdIllustrations))
    ne renvoi rien alors qu'elle rentre bien dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( ($tab = $IdIllustrations) !== null )
    :

    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
    /*appelle de la class produit*/
    $objet=new produit;
     
    /*utilisation fonction pour afficher nouveautés*/
    $Nouveautes=$objet->afficherLesNouveautes();
     
     
    if ( ($tab = $Nouveautes) !== null ) {
    $body.='<div class="Nouveaute_center">';
    foreach( $tab as $Nouveautes ) {
    /*utilisation fonction pour recuperer valeur categorie*/
    $IdCateg=$Nouveautes->getId();
     
    /*construction url dynamique*/
    $body.='<ul><li><a>';
    $body.=''.$Nouveautes->getNom().'';
    $IdIllustrations=$Nouveautes->getIllustrations();
     
    $body.='</a></li></ul>';
    }
     
     
    }
     
    if ( ($tab = $IdIllustrations) !== null ) {
     
     
    foreach( $tab as $IdIllustrations) {
     
    /*utilisation fonction pour recuperer valeur categorie*/
    echo $Fichier=$IdIllustrations->getFichier();
     
    }
    }
     
    $body.='</div>';
    merci de votre aide.

    en faite j 'ai la table illustration:

    id - description - fichier

    table produit:

    id - nom - description - .... - id-illustration

  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
    Par défaut
    quel est le sens de tout ça ?
    tu utilises le même nom de variable pour des choses différentes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $Nouveautes=$objet->afficherLesNouveautes();
    if ( ($tab = $Nouveautes) !== null ) {
    foreach( $tab as $Nouveautes ) {

    Si tu cherches à vérifier que la fonction a bien retourné un tableau fait simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (is_array($Nouveautes)) {
    foreach( $Nouveautes as $value ) {
    Encore mieux serait que ta fonction retourne toujours un tableau quite à ce qu'il soit vide.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( ($tab = $IdIllustrations) !== null )
    Quel intérêt y a-t-il à faire ça ?

    Pourquoi pas un simple ?

    Edit : grilled

  4. #4
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    j'ai fait les modi:

    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
    if (is_array($Nouveautes)) {
    $body.='<div class="Nouveaute_center">';
    foreach( $Nouveautes as $value ) {
    /*utilisation fonction pour recuperer valeur categorie*/
    $IdCateg=$value->getId();
     
    /*construction url dynamique*/
    $body.='<ul><li><a>';
    $body.=''.$value->getNom().'';
    $body.=''.$value->getIDillustrations().'';
    $body.='</a></li></ul>';
    }
     
     
    }
    if (is_array($IdIllustrations)) {
     
    foreach( $IdIllustrations as $value ) {
     
    echo $Fichier=$value->getFichier();
     
    }
    }
     
    $body.='</div>';
    mais il ne rentre pas dans la 2 boucle (if (is_array($IdIllustrations)

    Normale car la fonction get ne renvoie pas de tableau:

    page class.produit.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     public function getIDillustrations() {
            return (string) $this->id_illustration;
        }
    a votre avis doit je faire un tableau car en faite j'ai besoin de ces id ensuite pour cette fonction dans class.illustration.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
    16
     public function getIllustrations($id) {
           $req ="SELECT * from ".self::TB_PREFIX."illustration_produit where id=$id";
    		$res = mysql_query($req) or die ('Erreur : '.mysql_error());
    		$ret = array();
     
    		while( $data = mysql_fetch_object($res) ) {
    			$ret[] = new self ( 
    			$data->id,
    			$data->titre,
    			$data->fichier
     
     
     
    			);
     
        }
    et ainsi je voulais recuperer la donnée fichier pour afficher l 'image.
    en faite j 'ai la table illustration:

    id - description - fichier

    table produit:

    id - nom - description - .... - id-illustration
    merci de vos conseils.

Discussions similaires

  1. [PHP 4] Utilisation de "foreach"
    Par Invité dans le forum Langage
    Réponses: 5
    Dernier message: 22/02/2009, 13h36
  2. prob utilisation c:forEach
    Par skanderb dans le forum JSF
    Réponses: 1
    Dernier message: 27/04/2007, 11h06
  3. Utilisation de foreach avec les sessions sous PHP5
    Par frochard dans le forum Langage
    Réponses: 1
    Dernier message: 11/11/2006, 02h14
  4. [Tableaux] Erreur lors de l'utilisation de foreach
    Par kagura dans le forum Langage
    Réponses: 1
    Dernier message: 08/11/2006, 13h51
  5. utilisation du Foreach.
    Par LESOLEIL dans le forum Langage
    Réponses: 5
    Dernier message: 15/03/2006, 15h26

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