Tableau dynamique sans repetition de champs

Résolu
cs_niko14 Messages postés 209 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 10 octobre 2014 - 16 févr. 2006 à 10:09
ouinez Messages postés 2 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 18 juin 2007 - 17 juin 2007 à 23:42
salut tout le monde!

Je vous expose le probleme

En fait je voudrais faire un tableau a partir d'un base de données!

Sachant que je fais ca car les champs peuvent augmenter ou diminuer mais mon probleme n'est pas la!

En fait je fais cette requete la!!:

"SELECT nom_typedechet, nom_typestat, nombre_kg

FROM type_dechet, typestat, histstattypedechet

WHERE type_dechet.id_typedechet = histstattypedechet.id_typedechet

AND typestat.id_typestat = histstattypedechet.id_typestat

ORDER BY type_dechet.id_typedechet DESC";

Le probleme c'est qu'apres quand je veux afficher le tableau je fais ca :



<?php

while($tableau = mysql_fetch_array($resultat_tonnage))

{

?>

----

<?php echo ucwords($tableau[0]); ?> |

----
<?php echo ucwords($tableau[1]); ?>

<?php echo ucwords($tableau[2]); ?>

<?php

}

?>




Mais ce qui est chiant c'est qu'il me repete les nom_typedechet a
chaque fois alors que je voudrais qu'il me le mette une fois et
qu'apres il passe tous les champs en revue qu'il me les ecrive avec
leur nombre correspondant a coté et ceci pour chaque type de dechet de
ma table!

Je ne sais pas si je me suis bien exprimer!

Si vous voulez de plus amples infos n'hesitez pas a me contacter je bouge pas je reste a travailler la!!!



merci d'avance a tous et bonne prog!




Niko14

4 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
16 févr. 2006 à 10:28
Salut...

Ce que je comprends :

Tu obtient de tableau
truc A 12
truc B 53
truc C 35
hop A 45
hop B 56
hop C 323

Mais tu voudrais ça
truc A 12
B 53

C 35

hop A 45

B 56

C 323

Alors, dans ce cas :

<?php
$old = '';
while($tableau = mysql_fetch_array($resultat_tonnage))
{
?>
----

<?php
if($old!=$tableau[0]) {
echo ucwords($tableau[0]);
$old = $tableau[0];
}
?>
|
<td><?php echo ucwords($tableau[1]); ?>

<?php echo ucwords($tableau[2]); ?></td>

<?php
}
?>

Et là ça devrait le faire...

Au plaisir !
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
16 févr. 2006 à 10:29
essaie avec une boucle for peut être
$resultat_tonnage= mysql_db_query($sql_bdd,$REQUETE,$db_link);
$nb=mysql_num_rows($resultat_tonnage);

for($i=0;$i<$nb;$i++)
{
$TD=mysql_result($resultat_tonnage,$i,"nom_typedechet") ;
$TS=mysql_result($resultat_tonnage,$i,"nom_typestat") ;
$NK=mysql_result($resultat_tonnage,$i,"nombre_kg ") ;

echo '<tr>';
if($i!=0) $TDP=mysql_result($resultat_tonnage, $i-1 ,"nom_typedechet") ; //type precedent

if ($TDP! =$TD)
echo '<td>$TD</td>';
else
echo '<td>&nbsp;</td>';

echo '<td>$TS</td>';
echo '<td>$NK</td>';

echo '</tr>';
}
...
A tester
0
cs_niko14 Messages postés 209 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 10 octobre 2014
16 févr. 2006 à 10:47
Alors la J_G merci beaucoup pour ton aide je dois dire que ca marche impecablement bien et je te suis tres reconnaissant!!

il me reste plus qu'a me debrouiller pour afficher le <th> centré par rapport aux autres lignes et c'est le fête du slip!!

Merci beaucoup de ton aide et aussi a toi sidf!!!

A bientot pour un prochain probleme!!!

Avec des developpeurs comme vous la france va remonter dans les meilleurs evemloppeurs mondiaux!!!

Niko14
0
ouinez Messages postés 2 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 18 juin 2007
17 juin 2007 à 23:42
je ss nouvelle ds se forum et je ss certaine ke je serrai satisfaite
0
Rejoignez-nous