Aller au contenu

Fusion cellule selon resultat


glibre

Sujets conseillés

bonjour,

je fais appel a vous car je seche complement.

une requete SQL me renvoie un tableau du type:

NOM ========== FRUITS

TOTO ========== BANANE

TOTO ========== POMME

TITI =========== FRAISE

Comment faire pour fusionner les 2 cellules TOTO dans mon tableau(rowspan??!!) ?

Le resultats de mes lignes sortent d'un

while ($row = mysql_fetch_assoc($ligne)) 
{

$tab .= "<tr><td $rowspan>".$row["NOM"]."</td><td>".$row["FRUIT"]."</td></tr>";

}

:(

Lien vers le commentaire
Partager sur d’autres sites

ya toujours la solution de faire une liste des nom et d'effectuer une requete par nom...du style :

foreach ($nom as $noms)
{SELECT FRUIT WHERE NOM = $nom}

mais ca genere beaucoup de requetes avec des grosses bases.

sinon tu fais un if dans ta boucle...

$prec = "";
while ($row = mysql_fetch_assoc($ligne))
{

if( $row["nom"] != $prec )
{
if (prec="")
{$tab.= "<tr>";}
else
{$tab.="</td></tr><tr>";}

$tab .= "<td $rowspan>".$row["NOM"]."</td><td>".$row["FRUIT"];
}
else
{
$tab .= $row["FRUIT"];
}
$prec=$nom;
}

Si tu comprends ma logique ^^

En gros j'ai rajouté une variable pour tester si le nom de cette ligne est le meme que celui de la ligne precedente (stocké dans la variable en question).

A partir de la 2 cas ^^

1- c'est un autre

2- c'est le meme

cas1 :

- si c'est le premier nom du tableau (prec=""), on commence une nouvelle ligne,

- si ca n'est pas le premier (else), on termine la ligne précédente, et en commencons une nouvelle,

cas2 :

- on rajoute le fruit dans la liste.

Il ne faut pas oublier apres la boucle de terminer la derniere ligne (avec un echo "</td></tr>").

voila pour moi ^^

Modifié par Nanane
Lien vers le commentaire
Partager sur d’autres sites

roh j'ai vraiment honte :blush:

en suivant ton type de raisonnement:

$tab = "<table><tr><th>NOM</th><th>FRUIT</th></tr>";
$nom = " ";
while ($row = mysql_fetch_assoc($ligne))
{
if ($nom==" "){$nom=$row["NOM"];}else{$nom=" ";}
$tab .= "<tr><td>$nom</td><td>".$row["FRUIT"]."</td></tr>";

$tab .= "</table>";

merci beaucoup pour ta lumiere

Lien vers le commentaire
Partager sur d’autres sites

De rien ^^ La lumiere c'est comme le soleil les connaissances, ca se partage

Edit: je sais pas d'ou il m'est sorti ce soleil...

Modifié par Nanane
Lien vers le commentaire
Partager sur d’autres sites

Par contre je comprends pas bien ton dernier code ^^ Peut etre en me concentrant ^^

Edit: OK... oui ca marche ^^ c'est plus simple ^^ mais ca fait une ligne par fruit :)

TITI == POMME

TOTO = BANANE

===== PATATE

TUTU = COURGETTE

Modifié par Nanane
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...