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 confirmé
    Inscrit en
    Juillet 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 75
    Par défaut Utilisation de foreach
    Bonjour tout le monde,
    en fait j'aimerais lister le contenu de ma base de données avec un foreach en faisant ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $resultat = mysql_query('SELECT * FROM souscategorie ORDER BY `NOMCATEGORIE` ASC');
     
          foreach (($categories = mysql_fetch_array($resultat)) as $element){
        echo $element;
    }
    ca me donne pas toute la liste , je sais pas pourquoia

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Par défaut
    foreach est fait pour parcourir des tableaux ou des objets.

    une ressource de base de données n'est pas un tableau, ni un objet.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 75
    Par défaut
    mais normalement le mysql_fetch_array() retourne un array, pour m'eclaircir mieux qui est ce qu'une ressource de base de données si ce n'est pas un tableau alors ?
    est ce que t'as une idée de comment je pourais afficher ceci sans utiliser un while
    merci

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 698
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 698
    Par défaut
    Citation Envoyé par kaisser Voir le message
    est ce que t'as une idée de comment je pourais afficher ceci sans utiliser un while
    les fonctions de requêtes sont faites pour être lues dans une boucle while, pourquoi tu ne veux pas l'utiliser ?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Par défaut
    Une ressource est un truc mystérieux qu'on pourrait assimiler à un pointeur vers un truc externe (comment ça c'est pas clair ?)
    Grosso modo, pour ce qui est d'une DB :
    Lorsque tu exécutes une requete (mysql_query), la base de données commence à préparer les résultats dans un langage qui lui est propre. PHP n'est pas capable de lire ce résultat. La base de données lui donne juste un identifiant pour ce jeu de résultats.
    mysql_fetch_* se sert ensuite de cet identifiant pour demander à la base de données de lui renvoyer une ligne de résultat dans un langage que PHP peut comprendre et transformer en tableau ou objet, puis la DB déplace son pointeur vers la ligne suivante.

    Comme l'a dit Mathieu, la meilleure manière d'utiliser une fonction de "lecture" de ressource est une boucle while.

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

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

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