GROUP BY
joella
Messages postés
114
Statut
Membre
-
joella Messages postés 114 Statut Membre -
joella Messages postés 114 Statut Membre -
Bonjour,
J'ai un pbm sur la requete suivant:
<?php
require_once("connexion.php");
$sql="select * from operation GROUP BY nom_court_service";
$query=mysql_query($sql)or die(mysql_error());
while ($data=mysql_fetch_array($query))
{
$id=$data['id_projet'];
$num=$data['numero_operation'];
$lib=$data['intitule_operation'];
$num_finance=$data['numero_finance'];
$cart=$data['id_carte'];
$mo=$data['maitre_ouvrage'];
$serv=$data['nom_court_service'];
echo "
<table border='1' bordercolor='#000080' cellpadding='1' cellspacing='1' width='100%'>
Service: <input type='hidden' value='$serv'>$serv
<tr>
<td ><p><font face='Arial' size='3'><center>Numero</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Intitulé</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Financement</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Carte</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Maitre_Ouvrage</center> </font></p></td>
</tr>
<tr >
<td ><p><font face='Arial' size='2'>$num </font></p></td>
<td ><p><font face='Arial' size='2'>$lib </font></p></td>
<td ><p><font face='Arial' size='2'>$num_finance </font></p></td>
<td ><p><font face='Arial' size='2'>$cart </font></p></td>
<td ><p><font face='Arial' size='2'>$mo </font></p></td>
</tr>";
}
?>
</table>
Le pbm pose sur la requete sql contenant de group by. Il donne le résultat comme ceci:
Service: DTI
Numero Intitule Financement Carte Maitre_ouvrage
1 Protection de ville FER 1 MTPM
Le requete n'affiche pas tous les enregistrements concernant sur la service DTI mais il affiche le premier enregistrement seulement.
Qu'est-ce que je dois fais pour résoudre mon pbm, est-ce qu'il y a de quelqu'un a une idée correspondant sur le GROUP BY?
Merci d'avance . C'est urgent.
Bonne journée
J'ai un pbm sur la requete suivant:
<?php
require_once("connexion.php");
$sql="select * from operation GROUP BY nom_court_service";
$query=mysql_query($sql)or die(mysql_error());
while ($data=mysql_fetch_array($query))
{
$id=$data['id_projet'];
$num=$data['numero_operation'];
$lib=$data['intitule_operation'];
$num_finance=$data['numero_finance'];
$cart=$data['id_carte'];
$mo=$data['maitre_ouvrage'];
$serv=$data['nom_court_service'];
echo "
<table border='1' bordercolor='#000080' cellpadding='1' cellspacing='1' width='100%'>
Service: <input type='hidden' value='$serv'>$serv
<tr>
<td ><p><font face='Arial' size='3'><center>Numero</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Intitulé</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Financement</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Carte</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Maitre_Ouvrage</center> </font></p></td>
</tr>
<tr >
<td ><p><font face='Arial' size='2'>$num </font></p></td>
<td ><p><font face='Arial' size='2'>$lib </font></p></td>
<td ><p><font face='Arial' size='2'>$num_finance </font></p></td>
<td ><p><font face='Arial' size='2'>$cart </font></p></td>
<td ><p><font face='Arial' size='2'>$mo </font></p></td>
</tr>";
}
?>
</table>
Le pbm pose sur la requete sql contenant de group by. Il donne le résultat comme ceci:
Service: DTI
Numero Intitule Financement Carte Maitre_ouvrage
1 Protection de ville FER 1 MTPM
Le requete n'affiche pas tous les enregistrements concernant sur la service DTI mais il affiche le premier enregistrement seulement.
Qu'est-ce que je dois fais pour résoudre mon pbm, est-ce qu'il y a de quelqu'un a une idée correspondant sur le GROUP BY?
Merci d'avance . C'est urgent.
Bonne journée
6 réponses
quand je lis le code, j'ai impression que vous avez confondu group by et order by. Le group by permet de traiter plusieurs données comme une seule et de faire des calculs sur ce groupe de données. Order by lui classe les données dans l'ordre demandé.
Essayez donc : select * from operation order by nom_court_service ASC;
Essayez donc : select * from operation order by nom_court_service ASC;
Bonjour,
Merci pour vous me repondre mais je fais de trier l'enregistrement par service donc le nom de triage en haut et la liste qui correspond en bas dans un tableau.
Comment peut on le faire ça?
merci d'avance.
Merci pour vous me repondre mais je fais de trier l'enregistrement par service donc le nom de triage en haut et la liste qui correspond en bas dans un tableau.
Comment peut on le faire ça?
merci d'avance.
Je ne comprend pas tres bien votre dernier post..
Auriez vous un exemple de ce que vous voulez que mysql renvoie ?
Auriez vous un exemple de ce que vous voulez que mysql renvoie ?
Bonjour,
Mysql renvoie comme ceci
Service: DER
Numero Intitule Financement Carte Maitre_ouvrage
1/der Construction de route FER 1 MTPM
2/der Réhabilitaion de la RN34 BM 2 MTPM
Service: ARM
Numero Intitule Financement Carte Maitre_ouvrage
1/arm Construction des routes RN4 FER 5 MTPM
2/arm Construction de pont BM 10 MTPM
Voir le resultat que je fais chercher le code pour l'afficher comme ci-dessus.
Merci d'avance
Bonne journée
Mysql renvoie comme ceci
Service: DER
Numero Intitule Financement Carte Maitre_ouvrage
1/der Construction de route FER 1 MTPM
2/der Réhabilitaion de la RN34 BM 2 MTPM
Service: ARM
Numero Intitule Financement Carte Maitre_ouvrage
1/arm Construction des routes RN4 FER 5 MTPM
2/arm Construction de pont BM 10 MTPM
Voir le resultat que je fais chercher le code pour l'afficher comme ci-dessus.
Merci d'avance
Bonne journée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hmm , je vois ce que vous voulez faire, malheuresement, ce n'est pas directement possible, car mysql ne renvoie que des tableau à 1 dimension, or pour obtenir directement ce que vous voulez, il faudrait au moins 2 dimensions.
Ceci dit il y a moyen de faire ce que vous voulez avec 2 lignes de php en plus :
Ceci dit il y a moyen de faire ce que vous voulez avec 2 lignes de php en plus :
<?php
require_once("connexion.php");
$sql="select * from operation ORDER BY nom_court_service ASC";
$query=mysql_query($sql)or die(mysql_error());
$last_serv='';
while ($data=mysql_fetch_array($query))
{
$id=$data['id_projet'];
$num=$data['numero_operation'];
$lib=$data['intitule_operation'];
$num_finance=$data['numero_finance'];
$cart=$data['id_carte'];
$mo=$data['maitre_ouvrage'];
$serv=$data['nom_court_service'];
echo "
<table border='1' bordercolor='#000080' cellpadding='1' cellspacing='1' width='100%'>";
if ($serv !=$last_serv ){ $last_serv=$serv;
echo "
Service: <input type='hidden' value='$serv'>$serv
<tr>
<td ><p><font face='Arial' size='3'><center>Numero</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Intitulé</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Financement</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Carte</center> </font></p></td>
<td ><p><font face='Arial' size='3'><center>Maitre_Ouvrage</center> </font></p></td>
</tr>";}
echo "
<tr >
<td ><p><font face='Arial' size='2'>$num </font></p></td>
<td ><p><font face='Arial' size='2'>$lib </font></p></td>
<td ><p><font face='Arial' size='2'>$num_finance </font></p></td>
<td ><p><font face='Arial' size='2'>$cart </font></p></td>
<td ><p><font face='Arial' size='2'>$mo </font></p></td>
</tr>";
}
?>
</table>