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 et affichage de résultats


Sujet :

Langage PHP

  1. #21
    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
    Par défaut
    J'ai un peu du mal a reperer quoi est quoi dans les valeurs mais il ne manque pas simplement le retour à la ligne après le comptage ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach($tableau as $materiel=>$values) {
       echo count($values) . ' ' . $materiel . '<br/>';
    Concernant les 20 conditions, si tu fais, tu ne fais plus de la programmation mais du bricolage
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  2. #22
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Merci, je vais essayer de gérer les tableaux, j'ai trouvé une doc

    Oui par contre , pour les 20 IF, je sais ce n'est pas super !
    Au début avant de connaître les tableaux j'allais faire 20 requêtes SQL au moins j'aurais été moins embêté.

    As-tu une idée de comment procéder ? Je dois mettre les différentes familles dans des <DIV> différentes.

    Sinon je fais mes 20 requêtes dans la même page, au moins avec le WHERE je pourrais gérer...

    Merci

  3. #23
    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
    Par défaut
    Si tu veux toutes les familles, il n'y a pas besoin de faire une requête par famille mais une seule requête avec toutes les familles.

    Comme dans ce qu'on a déjà écrit, tu as simplement à regrouper tes résultats par materiel et par famille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau[$row['materiel']][$row['famille']][] = $row;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #24
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Merci, je vais tester.

    En fait il n'y a pas d'équivalent de la clause WHERE comme en SQL pour un forech ?

  5. #25
    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
    Par défaut
    Je n'ai pas compris la question ...
    Tu voudrais filtrer les données du tableau avec un WHERE ?
    Autant construire le tableau déjà bien ordonné plutôt que d'imaginer le construire en désordre puis le filtrer.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #26
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Oui.

    Au lieu de faire mes 20 if / echo, j'aurais pu écrire forech where famille = " caisses " , where famille =" ordinateur "

    En gros je veux afficher comme cela (pas à la suite, mais 2 colones par pages)

    Famille caisse
    14 UC IBM 4800 743
    SN : 41XXXX - 41XXX - 41XXXX- 41XXXX ....

    7 Douchettes blah blah

    6 Imprimantes
    SN : 41XXXX - 41XXX - 41XXXX- 41XXXX ....


    Famille ordinateur


    6 UC HP 6000
    SN : 41XXXX - 41XXX - 41XXXX- 41XXXX ....

    (...)

  7. #27
    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
    Par défaut
    Je t'ai mis les index à l'envers dans le code précédent : c'est famille d'abord
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau[$row['famille']][$row['materiel']][] = $row;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach ($tableau as $famille=>$materiel_values) {
       echo 'famille ' . $famille . '<br/>';
           foreach ($materiel_values as $materiel=>values) {
                 echo count($values) . $materiel . '<br/>';
                     foreach ($values as $value) {
                           echo $value['ns'] . '<br/>';
                      }
           }
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #28
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Merci Sabotage, je vais essayer,
    bonne soirée

  9. #29
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Bonjour,

    Je viens d'essayer, j'ai malheurement un message d'erreur :

    Parse error: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\test.php on line 33
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach ($tableau as $famille=>$materiel_values) {
       echo 'famille ' . $famille . '<br/>';
           foreach ($materiel_values as $materiel=>values)  ligne 33 {
                 echo count($values) . $materiel . '<br/>';
                     foreach ($values as $value) {
                           echo $value['sn'] . '<br/>';
                      }
           }
    }

    -> Je pense que je vais bientôt réussir à ce que je souhaitais :-/ Mais serait t'il possible de créer un tableau de ces tableaux afin de récupérer $value['famille'] avant chaque foreach, afin que je puisse afficher dans mes différents blocs de la page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     (if ($value['famille'])=="ordinateur)  echo .....
     (if ($value['famille'])=="imprimante)  echo .....
    merci d'avance

  10. #30
    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
    Par défaut
    Il manque le $
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     foreach ($materiel_values as $materiel=>$values)  {
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #31
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Merci beaucoup, je ne l'avais pas vu.

  12. #32
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Tout fonctionne bien, car contre auriez-vous une idée, car je vais devoir copier/coller le code ci-dessous 20 fois pour provoquer 20 affichages différents des 20 familles différentes.

    Bien entendu, elles ne sont pas classées par ordre alphabétique ou autres... Mais dans des <DIV> différentes je dois classer ensuite sans ordre logique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    foreach ($tableau as $famille=>$materiel_values) {
      if ($famille=="IMPI") {
           foreach ($materiel_values as $materiel=>$values) {
                 echo count($values) . $materiel . '<br/>';
                     foreach ($values as $value) {
                           echo $value['sn'] . $value['statut_garantie'].'<br/>';
                      }
           }
      }
    }


    merci !

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/06/2008, 14h43
  2. [MySQL] Affichage de résultats issus d'une boucle sur un switch
    Par Micaunprobzo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/09/2007, 11h45
  3. Affichage des résultats d'un moteur de recherche
    Par poah dans le forum Langage
    Réponses: 1
    Dernier message: 24/11/2005, 14h31
  4. Affichage du résultat
    Par thomas_strass dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/07/2005, 11h30
  5. [VB.NET] Boucle d'affichage
    Par 3Dos dans le forum ASP.NET
    Réponses: 2
    Dernier message: 18/02/2005, 12h53

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