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 :

Niveau de regroupement


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 berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Par défaut Niveau de regroupement
    bonjour a tous,
    je cherche une méthode simple pour faire des niveaux de regroupements site à un SELECT, genre

    QUI1
    --->TRAVAUX
    --->TRAVAUX

    QUI2
    --->TRAVAUX
    --->TRAVAUX
    --->TRAVAUX
    --->TRAVAUX
    et pas

    QUI1
    --->TRAVAUX
    QUI1
    --->TRAVAUX
    QUI2
    --->TRAVAUX
    QUI2
    --->TRAVAUX

    j'ai un code de ce type :

    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
    <table width="650" border="0" cellpadding="0" cellspacing="5">
    <?php
     
    	$sql = "SELECT listing.NUMERO, listing.SITE, listing.TRAVAUX, qui.QUI, realise.REALISE, listing.COMMENTAIRE
    FROM realise INNER JOIN (qui INNER JOIN listing ON qui.NUM_QUI = listing.NUM_QUI) ON realise.NUM_REALISE = listing.NUM_REALISE
    WHERE listing.SITE = '$site' ORDER BY qui.QUI, realise.REALISE;";
     
      //exécution de la requête:
      $requete = mysql_query( $sql, $connec ) ;
     
      //affichage des données:
      while ($result = mysql_fetch_array($requete))
      {
      	$site = $result['SITE'];
    	$travaux = $result['TRAVAUX'];
    	$qui = $result['QUI'];
    	$realise = $result['REALISE'];
    	$num = $result['NUMERO'];
     
      echo "<tr>
        <td width='600'><span class='TITRE2'>Travaux : </span>$travaux<br>
    					<span class='TITRE2'>Qui : </span>$qui</span><br>
    					<span class='TITRE2'>Realise : </span>$realise</span><br>
        </td>
    	<td width='50' valign='top'><a href='travaux-update.php?num=$num' title='Modifier' ><img src='interface/modifier.png' width='20' height='20' border='0'></a></td>
      </tr>";
    }
    ?>
    </table>
    je cherche à faire des niveaux de regroupement comme un état ACCESS

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour, il faut faire un group by avec éventuellement un group_concat :

    Exemple donné par MySQl :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT student_name, GROUP_CONCAT(test_score, SEPARATOR ',' )
    FROM student 
    GROUP BY student_name;

    -> donnera les scores pour chaque etudiant. Attention par contre, group_concat necessite un champ de type string donc il faut que tu castes éventuellement le champs dans le group_concat si tu l'utilises

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/06/2011, 13h58
  2. Réponses: 1
    Dernier message: 07/11/2008, 09h45
  3. Réponses: 1
    Dernier message: 28/01/2008, 19h31
  4. Modifier un niveau de regroupement en VBA
    Par morelm dans le forum Access
    Réponses: 2
    Dernier message: 17/01/2007, 22h08
  5. Elément de niveau supérieur dans un menu
    Par pascalT dans le forum Composants VCL
    Réponses: 2
    Dernier message: 27/03/2003, 09h39

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