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 :

Tri dans un tableau [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Par défaut Tri dans un tableau
    Bonjour ,

    Je veux faire un tri de données ( d'une BDD ) que j'ai mis sous forme de tableau html , et cela en utilisant un menu déroulant voila mon code :
    il ya une requête qui se répète ! .

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    <?php
    include('connection.php');
    
    session_start();
    
    $id_projet = $_GET['id'];
    $user =$_SESSION['username'] ;
    $IDROLE=$_GET['r'];
    // la vérification se fait a chaque fois ! pour le role 
    require ('verif.php');
    if ($_SESSION['username']&& $IDROLE==2)
    {
    echo " Bienvenue,".$nom."!<br><a href='logout.php'>Logout</a><br><a href='changerpwd.php'>changer de mot de passe</a>";
    echo"<br/><a href='update.php?id=$user'>Mon compte</a>";
    }
       else
        {  die("Vous devez vous connecter !"); } 
    echo"<br><a href='creeTache.php?id=$id_projet'>Créer des taches </a>";      
    $user = $_SESSION['username'] ;   
    
    /* Requete d'affichage des projets d'un administrateur donné ! */ 
    $sqlA="SELECT distinct PROJET.* 
    FROM PROJET, UTILISATEUR, INTERVIENT 
    WHERE UTILISATEUR.ID_UTILISATEUR = INTERVIENT.ID_UTILISATEUR
    AND INTERVIENT.ID_PROJET = PROJET.ID_PROJET
    AND UTILISATEUR.IDENTIFIANT = '$user'
    AND PROJET.ID_PROJET = '$id_projet'";    
    
    $result = mysql_query ($sqlA);
    $champs = mysql_num_fields($result);
    $enregistrements = mysql_num_rows($result);
    echo "<p>Nombre de projets : $enregistrements</p>";
    
    echo "<form action ='admin.php?id=$id_projet' method ='POST' ><table id='mytable' cellspacing='0'>"; // Début du tableau
    echo "<tr>"; // On crée une ligne
    for ($i = 0;$i < $champs;$i++)
     {
    $nomChamp = mysql_field_name($result, $i);
    echo "<th>$nomChamp</th>";
     }
    
    echo "<th></th>";
    echo "<th></th>";echo "<th></th>";echo "<th></th>";
    echo "</tr>\n"; // On ferme la ligne
    // parcours 
    
    while ($row = mysql_fetch_assoc($result))
     {
    
    echo "<tr>"; // On crée une ligne
    foreach ($row as $key => $value) 
    {
    echo "<td > $value&nbsp;</td>"; 
    
    }
     
    
    echo '<td><a href="supp.php?id='.$row['ID_PROJET'].'" onclick="Supp(this.href); return(false);" title="Supprimer"><img src="images/b_drop.png"></a></td>';
    echo '<td><a href="updateProjet.php?id='.$row['ID_PROJET'].'" title="Modifier"><img src="images/b_edit.png"></a><br></td>';
    echo '<td><a href="afficheProjet.php?id='.$row['ID_PROJET'].'" target=_blank title="Visualiser"><img src="images/eye.png"></a><br></td>';
    echo '<td><input type="submit" name="afficher" value="afficher les taches"></td>';
    
    // le probleme est a ce Niveau , lorsque je sélectionne le champs a trier , je n'arrive pas à afficher le resultat sur le tableau . 
    
    echo"<td><select name='trie'>
                   <option name ='tri' value=''>trier les taches par : </option>
                   " ;
                   $i =0 ;
                   while ($i<= $champs )
                   	{
                   		$sqlT =mysql_query("SELECT TACHE.ID_TACHE, TACHE.INTITULE_TACHE,TACHE.DATE_DEB_PRE,TACHE.DATE_FIN_PRE,TACHE.PRIORITE,TACHE.DUREE,TACHE.RETARD,
    UTILISATEUR.NOM as Equipe
    FROM TACHE, UTILISATEUR, A_EFFECTUE
    WHERE UTILISATEUR.ID_UTILISATEUR = A_EFFECTUE.ID_UTILISATEUR
    AND A_EFFECTUE.ID_TACHE = TACHE.ID_TACHE
    AND TACHE.ID_PROJET =$id_projet");
                   		$nomChamp = mysql_field_name($sqlT, $i);
        				echo"<option value=$nomChamp >$nomChamp</option>";
        				
        				$i++;
        			
        				}
        		echo"
    				</select></td>";
    			
    }
    	
    echo "</tr>\n"; // On ferme la ligne
    
    
    echo "</table><p>"; // On ferme le tableau
    
    if ($_POST['afficher'])
     {
     	echo $nomChamp;
     	// Requete d'affichage de tache d'un projet avec le responsable de la tache .
    $sqlT =mysql_query("SELECT TACHE.ID_TACHE, TACHE.INTITULE_TACHE,TACHE.DATE_DEB_PRE,TACHE.DATE_FIN_PRE,TACHE.PRIORITE,TACHE.DUREE,TACHE.RETARD,
    UTILISATEUR.NOM as Equipe
    FROM TACHE, UTILISATEUR, A_EFFECTUE
    WHERE UTILISATEUR.ID_UTILISATEUR = A_EFFECTUE.ID_UTILISATEUR
    AND A_EFFECTUE.ID_TACHE = TACHE.ID_TACHE
    AND TACHE.ID_PROJET =$id_projet
    order by $nomChamp");
    $champ = mysql_num_fields($sqlT);
    		$nbrT= mysql_num_rows($sqlT);
    		if ($nbrT!=0)
    		{
     	echo "<form action ='admin.php?id=$id_projet' method ='POST' ><table id='mytable' cellspacing='0'>";
     	echo "<tr>"; // On crée une ligne
    		for ($i = 0;$i < $champ;$i++)
     		{
    		$nomChamps = mysql_field_name($sqlT, $i);
    		echo "<th>$nomChamps</th>";
    		
    		 }
    echo "<th></th>";
    echo "<th></th>";
    echo "<th></th>";
    
    	echo "</tr>\n"; 
    
    		
    			while ($rw = mysql_fetch_assoc($sqlT)) 
    				{
    
    				foreach ($rw as $key => $value) 
    {
    
    echo "<td title='$value'> $value&nbsp; </td>"; 
    
    }
    	          $IDTACHE =$rw['ID_TACHE'] ; 
    				echo '<td><a href="supp.php?id='.$rw['ID_TACHE'].'" onclick="Supp(this.href); return(false);" title="Supprimer"><img src="images/b_drop.png"></a></td>';
    				echo '<td><a href="updateTache.php?id='.$IDTACHE.'&idp='.$id_projet.'" title="Modifier"><img src="images/b_edit.png"></a><br></td>';
    				echo '<td><a href="affichetache.php?id='.$rw['INTITULE_TACHE'].'"  title="Créer une Alerte"><img src="images/s_notice.png"></a><br></td></tr>';
    				}
    echo'</table>';
     	}
     	else 
     	{
     		echo'<td>Aucune tache pour ce projet </td>';
     	}
     }
     header ("Location : admin.php?id=$id_projet");
     	
    mysql_close();
    Merci ! .

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Utilise la clause ORDER BY.

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Par défaut
    Merci , mais j'ai reglé le probleme . j'ai utilisé la clause ORDER BY mais ce n'etait pas ça le probleme .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tri dans un tableau à deux dimensions
    Par Neuromancien2 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/08/2007, 12h59
  2. Tri dans un tableau
    Par MegaNam dans le forum Fortran
    Réponses: 5
    Dernier message: 22/03/2007, 14h43
  3. [Tableaux] question recherche et tri dans un tableau
    Par nicopoal dans le forum Langage
    Réponses: 7
    Dernier message: 25/01/2007, 16h41
  4. [Tableaux] Tri dans un tableau
    Par ssebuser dans le forum Langage
    Réponses: 11
    Dernier message: 12/12/2006, 20h29
  5. Tri dans un tableau et indices
    Par size_one_1 dans le forum C
    Réponses: 10
    Dernier message: 16/05/2006, 00h17

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