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

PHP & Base de données Discussion :

Foreach ou while ?


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Par défaut Foreach ou while ?
    Bonjour,

    Voilà mon problème:

    Je fait une requête sur une base, et j'obtient plusieurs résultats. Ces résultats on des points communs, dans un des champs, je n'ai que 5 entrée possibles.

    Je voudrais donc gerer un affichage (un tableau par exemple) qui grouperait les résultats par entrée commune d'un champs précédemment sité.

    Mais je ne sais pas comment faire, je suppose qu'il faut utilisé while ou foreach.

    Pour éclairé mon problème voici le résultat que je voudrai:

    Donné1 | Donné2 | Entré1
    -------------------------
    Donné3 | Donné4 | Entré1
    -------------------------
    Donné5 | Donné6 | Entré1



    Donné7 | Donné8 | Entré2
    -------------------------
    Donné9 | Donné10 | Entré2
    -------------------------
    Donné10 | Donné12 | Entré2

    etc ...

    J'espère que je suis assez clair, merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Par défaut
    Tu peux le faire avec les deux...
    C'est la magie du php pour un problème plusieurs solutions.
    Par contre je n'ai pas bien saisie ce que représentent les "entrées"

    Tu trouveras souvent quelque chose du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $req = 'Ta requête';
    $res = mysql_query($req);
    while($data=mysql_fetch_array($res))
    {
      echo $data['nom du champs'];
    }
    Oublis pas le mysql_connect().
    Par contre pour créer une nouvelle ligne après l'entrée je te laisse chercher un peu.

  3. #3
    Membre éclairé Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Par défaut
    En fait c'est une table de joueur entré représente la race qui peut être humain, elfe ...

    Donc comment je pourrait faire ? Vous avez pas un petit bout de code, je pensait faire une boucle dans le genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while($data = mysql_fetch_assoc($req))
    		{
    		// on affiche les informations de l'enregistrement en cours
    		echo '<tr><td><b>'.$data['NOM'].'</b></td><td>'.$data['ATTAQUE'].'</td><td><b>'.$data['ESQUIVE'].'</b></td>
    		<td>'.$data['DEGAT'].'</td><td><b>'.$data['ARMURE'].'</b></td><td>'.$data['TEMPS'].'</td>
    		<td><b>'.$data['BM'].'</b></td></tr>';
    		//print_r ($data);
    		}
    Mais comment faire pour séparé les elfe des humains ... en mettant la race en titre en haut de chaque séparation ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Par défaut
    Dans ta table si tu dois bien avoir un champs qui détermine ta race nan?
    Si c'est le cas c'est ta requête qu'il faut modifier...
    ORDER BY 'race' ASC ca irait pas?

  5. #5
    Membre éclairé Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Par défaut
    Si d'accord, mais pour l'affichage, je voudrai faire une seule requête, et que sa me face un truc du genre:

    Nains:
    Joueur1
    Joueur2
    Joueur3
    Joueur4
    Joueur5

    Elfes:
    Joueur1
    Joueur2
    Joueur3
    Joueur4
    Joueur5

    ...

    Avec des espaces, pas de truc comme ça:

    Joueur1 --> Nains
    Joueur2 --> Nains
    Joueur3 --> Nains
    Joueur4 --> Nains
    Joueur5 --> Nains
    Joueur6 --> Elfes
    Joueur7 --> Elfes
    Joueur8 --> Elfes
    Joueur9 --> Elfes
    Joueur10 --> Elfes

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Par défaut
    Je vais regarder quand j'aurais un peu de temps dans la journée alors patience

Discussions similaires

  1. Extraction de données while, foreach
    Par heldev dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/11/2009, 00h21
  2. affichage de sous requette avec foreach et while
    Par keusty78 dans le forum Langage
    Réponses: 11
    Dernier message: 17/10/2009, 12h42
  3. [MySQL] Erreur boucle while et foreach
    Par tiesto95 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/01/2009, 12h01
  4. [MySQL] Foreach avec un while inclu
    Par thibaud28 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/06/2008, 13h58
  5. while vs foreach var list (@toto)
    Par nkdb dans le forum Langage
    Réponses: 7
    Dernier message: 08/12/2006, 21h55

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