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 :

Tableau - Separations de resultats de requetes


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Tableau - Separations de resultats de requetes
    Bonjour,
    Je crée une liste des prochains matchs des équipes d'un club de sport dans un tableau via une requete SQL dans ma base de données..

    Le gérant du club me demande si il est possible de gérer une séparation a chaque critère différent des résultats, c'est-à-dire que chaque équipe soit bien séparée, par une ligne ou autre.
    Actuellement, les résultats sont mis l'un en dessous de l'autre :

    1. P2 - JS- VTC- 22-01-2016 15h00
    2. P4 - VTC2 - Charleroi - 29-01-2016 15h00
    3. M1 - MONS - JS - 22-02-2016 14h00
    4. P2 - VTC - BLR - 29-01-2016 16h30
    ...

    Ce qu'il demande , c est de faire insérer une ligne (ou un élément tableau) entre chaque changement d'équipe:

    1. P2 - JS- VTC- 22-01-2016 15h00
    2. P2 - VTC - BLR - 29-01-2016 16h30
    ----------------------------------------------
    3. P4 - VTC2 - Charleroi - 29-01-2016 15h00

    Une personne nous avait passé ce bout de code, mais sans effet... (il ya toute la requete avant bien sur, je ne mets que son execution)
    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
     
    $req = mysql_query($sql) or die('Erreur SQL ! '.$sql.' '.mysql_error());
    $last_eq 		= '';
    // on va scanner tous les matchs un par un
    while ($data = mysql_fetch_array($req)) {
    	$section 		= ($data['equipe_old'] == $last_eq) ? '' : '<hr><br><br><hr>'; 
    	$equipea 		= $data['equipea'];
    	$equipe2 		= $data['equipe2'];
    	$equipe_old 	= $data['equipe_old'];
    	$last_eq 		= $row['equipe_old'];
    // on affiche les résultats
    echo 'Nom : '.$equipe.' ';
    echo 'Son tel : '.$equipe2.' ';
    echo 'Equipe : '.$equipe_old. ' ';
    echo $section;
     
    echo '<hr>';
    }
    Ici, je mets des echo et des balises <br> et <hr> pour séparer, mais au final, cela va aller dans une table, chaque "section" comprendra un <tr>avec le nom de l'équipe.

    J'espère que j'ai été assez clair... Merci pour votre aide.

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Points : 144
    Points
    144
    Par défaut Demande d'informations
    Bonjour,
    Honnêtement j'ai essayé de comprendre ton post mais sans résultat...
    Je ne comprends pas le rapport entre les lignes de codes et l’exécution souhaitée...


    Peut être qu'avec la boucle actuelle on pourrait y voir plus clair.

    Cordialement
    L'art du developpement est la logique.
    Tout est possible, il suffit de chercher :p
    Si le problème est résolu
    Pense à Merci

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Voilà, j'ai un peu trouvé la soluce, à partir des lignes de code données, qui étaient fausses....

    En fait, je veux trier, dans un tableau, toutes mes équipes et les afficher, dans l'ordre des matchs, bien séparées par une ligne comportant le nom de l'équipe.
    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
    <table>
    <?php
    //On  liste les équipes et leurs matchs qui leur appartiennent, dans une boucle
    $req= mysql_query("SELECT club, date, equipea , equipe2, equipe_old FROM foot  ORDER BY club_rang, equipe, date");
    while ($donnees = mysql_fetch_array($req))
    {
         $nouveau_titre = $donnees['equipe_old'];
     
        if($titre != $nouveau_titre OR empty($titre))//si c'est une autre équipe, on l'affiche, si pas, l'affichage des matchs continue
        {
                   $titre = $nouveau_titre;
           ?>
            <tr style="background-color:red">
                <td colspan="2"><center><?php echo stripslashes($donnees['equipe_old']); ?></center></td>
     
            </tr>
        <?php
        } // affichage des matchs
        ?>
        <tr style="background-color:lightgrey">
            <td>.<?php echo ' ' . $donnees['equipea'] . ' ' . $donnees['equipe2']. ' ' . $donnees['date']. '';?></td>
            <td><?php echo ' ' . $donnees['club'] . ' ' . $donnees['equipe_old']. '';?></td>
     
        </tr>
    <?php
    }
    ?>
    </table>
    Mais ici, cela m'affiche 2x la même ligne ! Le séparateur d'équipe fonctionne, mais j'ai deux fois les mêmes matchs.

    Avec l'ajout d'un else, j'ai le premier match qui ne se répète pas, par contre, les autres sont répétés.
    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
    while ($donnees = mysql_fetch_array($req))
    {
    	$nouveau_titre = $donnees['equipe_old'];
     
        if($titre != $nouveau_titre OR empty($titre))//si c'est une autre équipe, on l'affiche, si pas, l'affichage des matchs continue
        {
    		$titre = $nouveau_titre;
    		?>
    		<tr style="background-color:red">
    		<td colspan="2"><center><?php echo stripslashes($donnees['equipe_old']); ?></center></td>
    		</tr>
    		<?php
        }
    	else
    	{
    		?>
    		<tr style="background-color:lightgrey">
            <td>.<?php echo ' ' . $donnees['equipea'] . ' ' . $donnees['equipe2']. ' ' . $donnees['date']. '';?></td>
            <td><?php echo ' ' . $donnees['club'] . ' ' . $donnees['equipe_old']. '';?></td>
    		</tr>
    		<?php
    	}
    }
    Et là, je coince !

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Points : 144
    Points
    144
    Par défaut Réponse
    Bonjour,
    Cela me parait étrange que dans la requête le premier order ne soit pas equipe_old.
    Est-ce normal?

    Sinon ça me paraît correct.
    Des données d'exemple et une exécution serait peut être necessaire pour t'aider.

    Cordialement
    L'art du developpement est la logique.
    Tout est possible, il suffit de chercher :p
    Si le problème est résolu
    Pense à Merci

Discussions similaires

  1. [MySQL] Ressortir un tableau avec les resultats d'une requete
    Par franco14 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/03/2010, 10h55
  2. colorier une case d'un tableau selon le resultat d'une requete
    Par zerocoolyoussef dans le forum Jasper
    Réponses: 5
    Dernier message: 05/04/2009, 20h21
  3. Tableau a partir d'une requete sql
    Par 10-nice dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/10/2004, 17h37
  4. [C#] Affichage resultat de requete dans 2 Labels
    Par kenzo080 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 02/06/2004, 21h07
  5. resultat de requete jointe
    Par jjn1er dans le forum Requêtes
    Réponses: 2
    Dernier message: 19/09/2003, 11h50

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