Version complète: sur le forum Webmaster Hub : Fusion cellule selon resultat
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
glibre
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
CODE
while ($row = mysql_fetch_assoc($ligne))
        {    
            
$tab .= "<tr><td $rowspan>".$row["NOM"]."</td><td>".$row["FRUIT"]."</td></tr>";
    
        }
sad.gif
Nanane
ya toujours la solution de faire une liste des nom et d'effectuer une requete par nom...du style :
CODE
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...

CODE
$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 happy.gif
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 happy.gif
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 happy.gif
glibre
roh j'ai vraiment honte blush.gif

en suivant ton type de raisonnement:

CODE
$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
Nanane
De rien happy.gif La lumiere c'est comme le soleil les connaissances, ca se partage

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

tu as surement voulu faire reference à "lumiere" wink.gif
Nanane
Par contre je comprends pas bien ton dernier code happy.gif Peut etre en me concentrant happy.gif

Edit: OK... oui ca marche happy.gif c'est plus simple happy.gif mais ca fait une ligne par fruit smile.gif

TITI == POMME
TOTO = BANANE
===== PATATE
TUTU = COURGETTE
glibre
CITATION
mais ca fait une ligne par fruit

oui c'est ce que je voulais smile.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.