Page 1 sur 1

Fusion de cellule

Posté : 08 nov. 2005, 17:25
par DCO
Bonjour,

Voilà j'ai un tableau en PHPqui a plusieurs colonnes, lignes.

Et je voudrai par exemple fusionner les 2 première cellules.

Je voudrai savoir comment faire la fusion de ces 2 cellules en PHP.
J'ai essayé de le faire avec la fonction <td colspan="2"> et lorsque je visualise ce tableau sur IE6 j'ai une page vide.

Quel est exactement le code pour pour voir effectuer cette fusion.

Merci pour votre réponse.

Posté : 08 nov. 2005, 17:30
par sadeq
Voici un exemple d'une table de 3 colonnes et 2 lignes dont la première céllule fusionne 2 céllules

Mais, ce n'est pas un problème de PHP c'est du HTML de base. Révise HTML.

Code : Tout sélectionner

<table border> <tr> <td colspan=2>ici 2 céllules sont fusionnées <td>une céllule <tr> <td>une céllule <td>une céllule <td>une céllule </table>
Désolé :
je n'utilise pas de fermetures jugées facultatives à certaines balises car une nouvelle ouverture de balise ferme une précédente.

Sauf bien sûr pour les balises de mise en forme tq: <font>, <b> ...
ou celles des conteneurs tq: <table>, <div>, <script>....

J'avoue que ce n'est pas conforme au standard mais pour simplifier l'écriture des exemples à tester ça peut passer

Fusion de cellules

Posté : 08 nov. 2005, 19:30
par DCO1
Bonsoir et merci pour cette réponse.

Le bout de code que tu as donné je l'avais fait avant et toujours la même page blanche lorsque je veux la visualiser sur le web.

Voici le code de mon tableau:

Code : Tout sélectionner

<? if ($id=="") {$id="0";} if (($_POST['rechercher']=="Rechercher") and ($_POST['recherche']!="")) { $query="SELECT compteur, categorie, titre, photo, up_photo, description, reference, prix, devise, DATE_FORMAT(date_ins, '%d-%m-%Y') FROM 1two_ecommerce_prod WHERE titre LIKE '%$recherche%' or description LIKE '%$recherche%' ORDER BY date_ins DESC , heure_ins DESC"; $res_racine = @mysql_query($query,$db); if (@mysql_num_rows($res_racine)!=0) { $nbracine=mysql_num_rows($res_racine); echo "<table width='100%' class='cadrecommentaires' cellpadding='10' border='0'>"; for ($i=0; $i<$nbracine; $i++) { $list_racine=@mysql_fetch_row($res_racine); if ($list_preferences[1]!=1) {if ($i % $list_preferences[1] == 0) { echo "<tr>"; }} else {echo "<tr>";} echo "<td valign='top' width='"; echo "$pourc=100 / $list_preferences[1]"; echo "%' class='texte' align='center'>"; if ($list_racine[3]!="") {echo "<img src='$list_racine[3]' title='$list_racine[4]'><strong>$list_racine[13]<br>";} echo "<strong>$list_racine[2]</strong><strong>$list_racine[13]</strong><br>$list_racine[5]<br>"; if ($list_racine[6]) {echo "$list_racine[6]<br><font color='#FF0000'>$list_racine[7] $list_racine[8]</font><br>";} else {echo "<font color='#FF0000'>$list_racine[6]$list_racine[8]</font><br>";} echo "<a href='?id=$id&mod=viewcart&action=add&item=$list_racine[0]' class='lien2'>Ajouter à la Commande</a>"; echo "</td>"; if ($list_preferences[1]!=1) {if ($i / ($list_preferences[1]-1) == 1) { echo "</tr>"; }} else {echo "</tr>";} } echo "</table>"; } else {echo "<span class='textebig'>Pas d'articles trouvés.</span><br><br>";} } if (($mod=="viewcart") and ($_POST['rechercher']!="Rechercher")) { if ($SuppCadd=="Effacer TOUTE la commande") { $query="DELETE FROM 1two_ecommerce_caddie WHERE client_ip='" . $_SESSION["client_ip"] . "'"; $delete_caddie = @mysql_query($query,$db); $action=""; } if ($action=="supp") { $query="DELETE FROM 1two_ecommerce_caddie WHERE client_ip='" . $_SESSION["client_ip"] . "' and compteur='$item'"; $delete_item = @mysql_query($query,$db); } if ($action=="add") { $query="SELECT compteur FROM 1two_ecommerce_caddie WHERE client_ip='" . $_SESSION["client_ip"] . "' and compteur='$item'"; $res_check_item = @mysql_query($query,$db); if (@mysql_num_rows($res_check_item)==0) { $query="SELECT * FROM 1two_ecommerce_prod WHERE compteur='$item'"; $res_item = @mysql_query($query,$db); $list_item=@mysql_fetch_row($res_item); if ($list_item[7]!="0") {$prix=$list_item[7];} else {$prix=$list_item[6];} $query="INSERT INTO 1two_ecommerce_caddie (client_ip, compteur, titre, reference, prix, date_ins, heure_ins) VALUES ('" . $_SESSION["client_ip"] . "', '$list_item[0]', '$list_item[2]', '$list_item[13]', '$prix', NOW(), NOW())"; $res_insert_caddie = @mysql_query($query,$db); } } $query="SELECT * FROM 1two_ecommerce_caddie WHERE client_ip='" . $_SESSION["client_ip"] . "' ORDER BY date_ins DESC, heure_ins DESC"; $res_caddie = @mysql_query($query,$db); if (@mysql_num_rows($res_caddie)!=0) { echo "<form name='form1' method='post' action=''><table width='100%' border='0' align='center' cellpadding='3' cellspacing='0' class='texte'>"; --------------------->>>>>>>>echo "<tr align='left'><td></td><td><input type='text' name='nomp' size=30 value='$nomp'><span class='tips'>(requis)</span></td>"; echo "<td><input type='submit' name='RecCadd' value='OK'></td>"; echo "<tr align='left'>"; echo "<td><strong>Réf.</strong></td>"; echo "<td><strong>Nom</strong></td>"; echo "<td><strong>Taille</strong></td>"; echo "<td><strong>Quantité</strong></td>"; echo "<td><strong>OK</strong></td>"; echo "<td><strong>Prix Unitaire</strong></td>"; echo "<td width='70'><strong>Total</strong></td>"; echo "<td width='30'><strong>Supprimer</strong></td>"; echo "</tr>"; $nb_item=mysql_num_rows($res_caddie); for ($i=0; $i<$nb_item; $i=$i+1) { $list_caddie=@mysql_fetch_row($res_caddie); if ($RecCadd=="OK") { $query="UPDATE 1two_ecommerce_caddie SET nomp='" . $nomp[$i] . "' WHERE client_ip='" . $_SESSION["client_ip"] . "' and compteur='$list_caddie[1]'"; $modif_nomp = @mysql_query($query,$db); $query="UPDATE 1two_ecommerce_caddie SET taille='" . $taille[$i] . "' WHERE client_ip='" . $_SESSION["client_ip"] . "' and compteur='$list_caddie[1]'"; $modif_taille = @mysql_query($query,$db); $query="UPDATE 1two_ecommerce_caddie SET quantite='" . $quantite[$i] . "' WHERE client_ip='" . $_SESSION["client_ip"] . "' and compteur='$list_caddie[1]'"; $modif_quantite = @mysql_query($query,$db); } $query="SELECT nomp FROM 1two_ecommerce_caddie WHERE client_ip='" . $_SESSION["client_ip"] . "' and compteur='$list_caddie[1]'"; $res_nomp = @mysql_query($query,$db); $query="SELECT taille FROM 1two_ecommerce_caddie WHERE client_ip='" . $_SESSION["client_ip"] . "' and compteur='$list_caddie[1]'"; $res_taille = @mysql_query($query,$db); $list_taille=@mysql_fetch_row($res_taille); $query="SELECT quantite FROM 1two_ecommerce_caddie WHERE client_ip='" . $_SESSION["client_ip"] . "' and compteur='$list_caddie[1]'"; $res_quantite = @mysql_query($query,$db); $list_quantite=@mysql_fetch_row($res_quantite); if ($i % 2 == 0) { echo "<tr bgcolor=\"#F0FFEE\" align=\"left\">"; } else { echo "<tr bgcolor=\"#FFFFFF\" align=\"left\">"; } echo "<td>$list_caddie[8]</td>"; echo "<td>$list_caddie[2]</td>"; echo "<td><input name=\"taille[" . $i . "]\" type='text' size='7' value='$list_taille[0]'></td>"; echo "<td><input name=\"quantite[" . $i . "]\" type='text' size='2' value='$list_quantite[0]'></td>"; echo "<td><input type='submit' name='RecCadd' value='OK'></td>"; echo "<td>$list_caddie[4] €</td>"; echo "<td>"; echo $total=$list_caddie[4]*$list_quantite[0]; echo " €</td>"; echo "<td><a href=\"?id=$id&mod=viewcart&action=supp&item=$list_caddie[1]\"><img src='design/icone-supprimer.gif' border='0' alt=\"Supprimer l'article $list_caddie[2]\"'></a></td>"; echo "</tr>"; if ($list_preferences[5]=="1") { $query="SELECT poids FROM 1two_ecommerce_prod WHERE compteur='$list_caddie[1]'"; $res_shipping = @mysql_query($query,$db); $list_shipping=@mysql_fetch_row($res_shipping); $poidstotal=$poidstotal+($list_shipping[0]*$list_quantite[0]); } if ($list_preferences[5]=="2") { $query="SELECT shipping FROM 1two_ecommerce_prod WHERE compteur='$list_caddie[1]'"; $res_shipping = @mysql_query($query,$db); $list_shipping=@mysql_fetch_row($res_shipping); $shipping=$shipping+($list_shipping[0]*$list_quantite[0]); } $total1=$total1+$total; } echo "<tr align='left'><td></td><td><input type='submit' name='SuppCadd' value='Effacer TOUTE la commande'></td>"; echo "<td></td><td></td><td></td>"; echo "<td align='left'>Sous Total</td>"; echo "<td align='left'><strong>$total1 €</strong></td>"; echo "<td></td></tr>"; if ($list_preferences[5]=="1") { echo "<tr align='center'><td></td><td></td>"; echo "<tr align='center'><td></td><td></td>"; echo "<td align='right'>Frais de ports</td>"; echo "<td>"; echo $shipping=$poidstotal*$list_preferences[6]; echo" €</td><td></td></tr>"; } if ($list_preferences[5]=="2") { echo "<tr align='center'><td></td><td></td>"; echo "<td align='right'>Frais de ports</td>"; echo "<td>$shipping €</td><td></td></tr>"; } echo "<tr align='left'><td></td><td></td><td></td><td></td><td></td>"; echo "<td align='left'><font color='#FF0000'><strong>Total</strong></font></td>"; echo "<td align='left'><font color='#FF0000'><strong>"; echo $montanttotal=$total1+$list_caddie[7]; echo" €</strong></font></td><td></td></tr>"; echo "</table></form>"; } else {echo "Votre Commande est vide !<br>";} echo "<br><strong>Que voulez-vous faire ?</strong><br><br>"; if (@mysql_num_rows($res_caddie)!=0) { echo "<a href='?mod=commande&shipping=$shipping&totalex=$total1&montanttotal=$montanttotal' class='lien2'>Valider votre commande</a><br>"; } echo "<a href='?id=$id' class='lien2'>Continuer le shopping dans la catégorie d'où vous venez</a><br>"; echo "<a href='' class='lien2'>Retourner à la page d'accueil</a><br>"; } if ($mod=="commande") { $query="SELECT * FROM 1two_ecommerce_caddie WHERE client_ip='" . $_SESSION["client_ip"] . "' ORDER BY date_ins DESC, heure_ins DESC"; $res_caddie = @mysql_query($query,$db); if (@mysql_num_rows($res_caddie)!=0) { $order= "<table width='100%' border='0' align='center' cellpadding='3' cellspacing='0' class='texte'><tr align='left'>"; $order.= "<td><strong>Réf.</strong></td>"; $order.= "<td><strong>Nom</strong></td>"; $order.= "<td><strong>Taille</strong></td>"; $order.= "<td><strong>Quantité</strong></td>"; $order.= "<td><strong>Prix Unitaire</strong></td>"; $order.= "<td width='70'><strong>Total</strong></td>"; $order.= "</tr>"; $nb_item=mysql_num_rows($res_caddie); for ($i=0; $i<$nb_item; $i=$i+1) { $list_caddie=@mysql_fetch_row($res_caddie); if ($i % 2 == 0) { $order.= "<tr bgcolor=\"#F0FFEE\" align=\"left\">"; } else { $order.= "<tr bgcolor=\"#FFFFFF\" align=\"left\">"; } $order.= "<td>$list_caddie[8]</td>"; $order.= "<td>$list_caddie[2]</td>"; $order.= "<td>$list_caddie[9]</td>"; $order.= "<td>$list_caddie[3]</td>"; $order.= "<td>$list_caddie[4] €</td>"; $order.= "<td>"; $order.= $total=$list_caddie[4]*$list_caddie[3]; $order.= " €</td>"; $order.= "</tr>"; } $order.= "<tr align='left'><td></td><td></td><td></td><td></td>"; $order.= "<td align='left'><strong>Total</strong></td>"; $order.= "<td><strong>$totalex €</strong></td></tr>"; $order.= "<td></td></tr>"; if ($list_preferences[5]!="3") { $order.= "<tr align='center'><td></td><td></td>"; $order.= "<td align='right'><strong></strong></td>"; $order.= "<td><strong></strong></td></tr>"; } $order.= "<tr align='left'><td></td><td></td><td></td><td></td>"; $order.= "<td align='left'><font color='#FF0000'><strong>MONTANT TOTAL</strong></font><br>(+ 4 € de port inclus)</td>"; $order.= "<td><strong><font color='#FF0000'>$montanttotal €<font color='#FF0000'></strong></td></tr>"; $order.= "</table>"; echo $order; } if (($ValCom=="Valider") and ($nom!="") and ($prenom!="") and ($adresse!="") and ($ville!="") and ($codepostal!="") and ($pays!="") and ($email!="")) { $subject_client="Détail de votre $list_preferences[2]"; $message_client="Nom : <font color='#0000FF'>$nom</font><br>Prenom : <font color='#0000FF'>$prenom</font><br>Adresse : <font color='#0000FF'>$adresse</font><br>Ville : <font color='#0000FF'>$ville</font><br>Code postal : <font color='#0000FF'>$codepostal</font><br>N° Adhérent ADGCP-63 : <font color='#0000FF'>$pays</font><br>Telephone : <font color='#0000FF'>$telephone</font><br>Portable : <font color='#0000FF'>$portable</font><br>Email : <font color='#0000FF'>$email</font><br>Commentaires : <font color='#0000FF'>$commentaires</font><br><br>"; $message_client.=$order; $message_client.="\n\n<font color='#FF0000'>Merci de joindre une copie de ce message à votre règlement.<br><br> VOTRE COMMANDE NE SERA PRISE EN COMPTE QU'A RECEPTION DE VOTRE REGLEMENT.<br><br> Règlement, par chèque bancaire ou postal UNIQUEMENT à l'ordre de ADGCP-63, à envoyer sous 8 jours à:<br><br> Monsieur Franck CHASSAING<br> 60 rue Anatole France<br> 63 800 COURNON D'AUVERGNE<br><br> AUCUNE RELANCE NE SERA FAITE.</font>"; $subject_webmaster="Commande de tenues provenant de $nom $prenom, Adhérent N°: $pays"; $message_webmaster="Nom : <font color='#0000FF'>$nom</font><br>Prenom : <font color='#0000FF'>$prenom</font><br>Adresse : <font color='#0000FF'>$adresse</font><br>Ville : <font color='#0000FF'>$ville</font><br>Code postal : <font color='#0000FF'>$codepostal</font><br>N° Adhérent ADGCP-63 : <font color='#0000FF'>$pays</font><br>Telephone : <font color='#0000FF'>$telephone</font><br>Portable : <font color='#0000FF'>$portable</font><br>Email : <font color='#0000FF'>$email</font><br>Commentaires : <font color='#0000FF'>$commentaires</font><br><br>"; $message_webmaster.=$order; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: $list_preferences[2] <$list_preferences[4]>\r\n"; mail("$email","$subject_client","$message_client","$headers"); mail("$list_preferences[4]","$subject_webmaster","$message_webmaster","$headers"); echo "DOCUMENTATION POUR FINALISER VOTRE ACHAT<br> <br><br> Un mail vient de vous être envoyé ainsi qu'à Monsieur xxxx xxxxxx administrateur de l'ADGCP-63 chargé des commandes.<br><br> Merci de faire parvenir un chèque de <font color='#FF0000'>$montanttotal €</font> correspondant au montant de votre commande,<br> à l'ordre de: <font color='#FF0000'>ADGCP63</font>, <font color='#0000FF'>ACCOMPAGNE</font> de la copie du message que vous venez de recevoir à la suite de la validation de votre commande: <br><br> à<br><br> <font color='#0000FF'>Monsieur xxx<br> xxx<br> xxx</font><br> <br><br><br> <font color='#FF0000'>VOTRE COMMANDE NE SERA PRISE EN COMPTE QU'A RECEPTION DE VOTRE REGLEMENT.<br><br> <br> AUCUNE RELANCE NE SERA FAITE.</font>"; } else { echo "<strong>Veuillez remplir les champs suivants :</strong>"; echo "<form name='form1' method='post' action=''>"; echo "<table width='100%' border='0' cellspacing='5' cellpadding='0' class='texte'>"; echo "<tr><td width='40%' align='right'>Nom : </td><td><input type='text' name='nom' value='$nom'><span class='tips'>(requis)</span></td></tr>"; echo "<tr><td align='right'>Prénom : </td><td><input type='text' name='prenom' value='$prenom'><span class='tips'>(requis)</span></td></tr>"; echo "<tr><td align='right'>Adresse : </td><td><input type='text' name='adresse' value='$adresse'><span class='tips'>(requis)</span></td></tr>"; echo "<tr><td align='right'>Ville : </td><td><input type='text' name='ville' value='$ville'><span class='tips'>(requis)</span></td></tr>"; echo "<tr><td align='right'>Code postal : </td><td><input type='text' name='codepostal' value='$codepostal'><span class='tips'>(requis)</span></td></tr>"; echo "<tr><td align='right'>N° Adhérent ADGCP-63 : </td><td><input type='text' name='pays' value='$pays'><span class='tips'>(requis)</span></td></tr>"; echo "<tr><td align='right'>Téléphone Fixe : </td><td><input type='text' name='telephone' value='$telephone'><span class='tips'>(requis)</span></td></tr>"; echo "<tr><td align='right'>Téléphone Portable : </td><td><input type='text' name='portable' value='$portable'></td></tr>"; echo "<tr><td align='right'>Adresse Email : </td><td><input type='text' name='email' value='$email'><span class='tips'>(requis)</span></td></tr>"; echo "<tr><td align='right'>Commentaires : </td><td><textarea name='commentaires' cols='40' rows='5'>$commentaires</textarea></td></tr>"; echo "<tr><td align='right'>&nbsp;</td><td><input type='submit' name='ValCom' value='Valider'></td></tr>"; echo "</table></form>"; } } if (($_GET['menu']=="") and ($_POST['rechercher']!="Rechercher") and ($mod!="viewcart") and ($mod!="commande")) { $query="SELECT description FROM 1two_ecommerce_cat WHERE compteur='$id'"; $res_cat_description = @mysql_query($query,$db); if (@mysql_num_rows($res_cat_description)!=0) { $list_cat_description=@mysql_fetch_row($res_cat_description); echo "$list_cat_description[0]"; echo "<br><br>"; } $query="SELECT compteur, categorie, titre, photo, up_photo, description, reference, prix, devise, DATE_FORMAT(date_ins, '%d-%m-%Y') FROM 1two_ecommerce_prod WHERE categorie='$id' ORDER BY date_ins DESC , heure_ins DESC"; $res_racine = @mysql_query($query,$db); if (@mysql_num_rows($res_racine)!=0) { $nbracine=mysql_num_rows($res_racine); $nbpage=ceil($nbracine/$list_preferences[0]); if ($_GET['page']=="") {$page=1;} echo "<table width='100%' class='cadrecommentaires' cellpadding='10' border='0'>"; for ($i=0; $i<$nbracine; $i++) { $list_racine=@mysql_fetch_row($res_racine); if ( ($i>=$list_preferences[0]*$page-$list_preferences[0]) and ($i<$list_preferences[0]*$page) ) { if ($list_preferences[1]!=1) {if ($i % $list_preferences[1] == 0) { echo "<tr>"; }} else {echo "<tr>";} echo "<td valign='top' width='"; echo "$pourc=100 / $list_preferences[1]"; echo "%' class='texte' align='center'>"; if ($list_racine[3]!="") {echo "<img src='$list_racine[3]' title='$list_racine[4]'><br>";} echo "<strong>$list_racine[2]</strong><strong>$list_racine[13]</strong><br>$list_racine[5]<br>&nbsp;Référence Article:"; if ($list_racine[6]) {echo "$list_racine[6]<br><font color='#FF0000'>$list_racine[7] $list_racine[8]</font><br>";} else {echo "<font color='#FF0000'>$list_racine[6]$list_racine[8]</font><br>";} echo "<a href='?id=$id&mod=viewcart&action=add&item=$list_racine[0]' class='lien2'>Ajouter à la Commande</a>"; echo "</td>"; if ($list_preferences[1]!=1) {if ($i / ($list_preferences[1]-1) == 1) { echo "</tr>"; }} else {echo "</tr>";} } } echo "</table>"; echo "<div align='right' class='texte'>Page "; for ($j=1; $j<=$nbpage; $j++) { echo " <a href='?id=$id&page=$j' class='lien1'>$j</a> "; } echo "</div>"; } else { if ($id!="0") {echo "Pas encore d'article dans cette catégorie !";}} } ?>
J'ai manqué de ceci ----------------------------------->>>>>>> l'endroi où je veux fusionner les 2 cellules.
Merci pour votre aide

Posté : 08 nov. 2005, 20:19
par Invité
Dossier clos. J'ai trouvé la solultion. Il fallait simplement mettre ce code au bon endroi.
Merci pour tout. A bientot

Posté : 09 nov. 2005, 11:03
par sadeq
Attention ceci est un avertissement pour tout programmeur débutant voulant accèder à la programmation par la grande porte.

Eviter de programmer comme le montre l'exemple de code fourni par notre ami.

Un site marchand écrit sur une seule page où HTML, PHP et SQL se débattent sous une formulation indigeste.

On ne peut lire, comprendre et maintenir ce genre de code pour la simple raison qu'il est trop long, non commenté et non aéré.

Et la programmation structurée et procédurale ça sert à quoi alors!

Aujourd'hui, presque la majorité des programmeurs laissent de côté ce constat.