Tableau php/mysql

Résolu
Bonjour,
j'ai un tt pti problem avec un tableau en php voilà comment :
je veux avoir un tableau comm la suite :

Nom Prenom age adresse
x x x xxxxxxxx
y y y yyyyyyyy
z z z zzzzzzzz

au debut :

echo " table.......etc " ==> l'entete ( nom prenom age adresse )

apres :

requette de recherche :

$query = "SELECT * FROM ma_table WHERE *****************";
$result = mysql_query($query);
$num=mysql_num_rows($result);

apres une boucle pour récuperer les donnes :

if ($num > 0 ) {
$i=0;
while ($i < $num) {
$a = mysql_result($result,$i,"a");
..
..
..


apres l'affichage du tableau


<?
echo '<table border=\"0\">'."\n";
echo '</tr>';
echo '<tr>';
echo '<td width="28" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
echo "$a";

mai je tombre sur un decalage des donné par exemple :

Nom Prenom age adresse
xxxxxxxxxxxxx x x xxxxxxxx
yyyyyyyyy y y yyyyyyyy
z z z zzzzzzzzzzzzzzzzzzzzzzzz

Que dois-je faire pour avoir un peut d'organisation , et que la tail sois automatique
Merçi;
Configuration: Windows XP
Firefox 3.0.8

13 réponses

  1. Oui ta raison !!
    ça marche mnt Impec ;)
    merçi " Le pére " merçi " TheBishop" !!
    ;)
    1. Tu as toujours un echo '<table border=\"0\">'."\n"; à l'intérieur de la boucle
      tu as toujours un </tr> en trop au début de chaque ligne et quelques </b> en trop
      1. voilà

        <div>
        <style type="text/css">
        <!--
        #Layer1 {
        position:absolute;
        width:996px;
        height:167px;
        z-index:1;
        left: 3px;
        top: 1px;
        }
        #Layer2 {
        position:absolute;
        width:200px;
        height:115px;
        z-index:1;
        }
        -->
        </style>
        <p><strong><a href="index.php" target="_self">index</a></strong>

        <?php
        include("includes/config.php");
        ?>
        <?
        echo '<table border=\"0\">'."\n";
        //espacement
        echo '<tr>';
        echo '</tr>';
        // première ligne
        echo '<tr>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Ticket</center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Site</center></font></u></b></td>';
        echo '<td width="100"bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>ND</center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Type</center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>@ ip</center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Contact régionale :</center></font></u></b></td>';
        echo '<td width="100"bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Personne ayant signalé :</center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1">Date de signalisation :</center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Diagnostic :</center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1">Date de relance :</center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Date de rétablissment </center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Durée</center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Commentaire</center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Client averti</center></font></u></b></td>';
        echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Personne ayant cloturé</center></font></u></b></td>';
        ?>
        <?php
        $sem = $_GET['sem'];
        $query = "SELECT * FROM fiche WHERE Ssig LIKE '$sem' OR Srel LIKE '$sem' OR Sret LIKE '$sem' ORDER BY Ticket ";
        $result = mysql_query($query);
        $num=mysql_num_rows($result);
        ?>
        <?php
        if ($num > 0 ) {
        $i=0;
        while ($i < $num) {
        $id = mysql_result($result,$i,"id");
        $Ticket = mysql_result($result,$i,"Ticket");
        $Site = mysql_result($result,$i,"Site");
        $ND = mysql_result($result,$i,"ND");
        $Type = mysql_result($result,$i,"Type");
        $Adresse_ip = mysql_result($result,$i,"Adresse_ip");
        $Contact = mysql_result($result,$i,"Contact");
        $dsj = mysql_result($result,$i,"dsj");
        $dsm = mysql_result($result,$i,"dsm");
        $dsa = mysql_result($result,$i,"dsa");
        $dsh = mysql_result($result,$i,"dsh");
        $dsmin = mysql_result($result,$i,"dsmin");
        $personne_sig = mysql_result($result,$i,"personne_sig");
        $Diagnostic = mysql_result($result,$i,"Diagnostic");
        $drej = mysql_result($result,$i,"drej");
        $drem = mysql_result($result,$i,"drem");
        $drea = mysql_result($result,$i,"drea");
        $dreh = mysql_result($result,$i,"dreh");
        $dremin = mysql_result($result,$i,"dremin");
        $drj = mysql_result($result,$i,"drj");
        $drm = mysql_result($result,$i,"drm");
        $dra = mysql_result($result,$i,"dra");
        $drh = mysql_result($result,$i,"drh");
        $drmin = mysql_result($result,$i,"drmin");
        $Personne_clot = mysql_result($result,$i,"Personne_clot");
        $Duree = mysql_result($result,$i,"Duree");
        $Commentaire = mysql_result($result,$i,"Commentaire");
        $Client_averti = mysql_result($result,$i,"Client_averti");
        ?>
        <?
        echo '<table border=\"0\">'."\n";
        echo '</tr>';
        echo '<tr>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$Ticket";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$Site";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$ND";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$Type";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF"size="1">';
        echo "$Adresse_ip";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$Contact";
        echo '</b></font></center></td>';
        echo '<td width="100"bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$Personne_sig";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$dsj/$dsm/ $dsa à $dsh:$dsmin ";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF"size="1">';
        echo "$Diagnostic";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$drej/$drem/$drea à $dreh:$dremin";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$drj/$drm/ $dra à $drh:$drmin";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$Duree";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$Commentaire";
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$Client_averti";
        echo '</b></font></center></td>';
        echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
        echo "$Personne_clot";
        echo '</b></font></center></td>';
        echo '</tr>';
        ++$i; } } else { echo "Aucun Ticket n'est enregistré"; }
        ?>
        </p>
        </div>
        1. On a déjà vu qu'il était plein d'erreurs.
          Peux -tu montrer la version corrigée ?
          1. voilà le code originale

            <div>
            <style type="text/css">
            <!--
            #Layer1 {
            position:absolute;
            width:996px;
            height:167px;
            z-index:1;
            left: 3px;
            top: 1px;
            }
            #Layer2 {
            position:absolute;
            width:200px;
            height:115px;
            z-index:1;
            }
            -->
            </style>
            <p><strong><a href="index.php" target="_self">index</a></strong>

            <?php
            include("includes/config.php");
            ?>
            <?
            echo '<table border=\"0\">'."\n";
            //espacement
            echo '<tr>';
            echo '</tr>';
            // première ligne
            echo '<tr>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Ticket</center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Site</center></font></u></b></td>';
            echo '<td width="100"bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>ND</center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Type</center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>@ ip</center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Contact régionale :</center></font></u></b></td>';
            echo '<td width="100"bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Personne ayant signalé :</center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1">Date de signalisation :</center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Diagnostic :</center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1">Date de relance :</center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Date de rétablissment </center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Durée</center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Commentaire</center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Client averti</center></font></u></b></td>';
            echo '<td width="100" bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>Personne ayant cloturé</center></font></u></b></td>';
            ?>
            <?php
            $sem = $_GET['sem'];
            $query = "SELECT * FROM fiche WHERE Ssig LIKE '$sem' OR Srel LIKE '$sem' OR Sret LIKE '$sem' ORDER BY Ticket ";
            $result = mysql_query($query);
            $num=mysql_num_rows($result);
            ?>
            <?php
            if ($num > 0 ) {
            $i=0;
            while ($i < $num) {
            $id = mysql_result($result,$i,"id");
            $Ticket = mysql_result($result,$i,"Ticket");
            $Site = mysql_result($result,$i,"Site");
            $ND = mysql_result($result,$i,"ND");
            $Type = mysql_result($result,$i,"Type");
            $Adresse_ip = mysql_result($result,$i,"Adresse_ip");
            $Contact = mysql_result($result,$i,"Contact");
            $dsj = mysql_result($result,$i,"dsj");
            $dsm = mysql_result($result,$i,"dsm");
            $dsa = mysql_result($result,$i,"dsa");
            $dsh = mysql_result($result,$i,"dsh");
            $dsmin = mysql_result($result,$i,"dsmin");
            $personne_sig = mysql_result($result,$i,"personne_sig");
            $Diagnostic = mysql_result($result,$i,"Diagnostic");
            $drej = mysql_result($result,$i,"drej");
            $drem = mysql_result($result,$i,"drem");
            $drea = mysql_result($result,$i,"drea");
            $dreh = mysql_result($result,$i,"dreh");
            $dremin = mysql_result($result,$i,"dremin");
            $drj = mysql_result($result,$i,"drj");
            $drm = mysql_result($result,$i,"drm");
            $dra = mysql_result($result,$i,"dra");
            $drh = mysql_result($result,$i,"drh");
            $drmin = mysql_result($result,$i,"drmin");
            $Personne_clot = mysql_result($result,$i,"Personne_clot");
            $Duree = mysql_result($result,$i,"Duree");
            $Commentaire = mysql_result($result,$i,"Commentaire");
            $Client_averti = mysql_result($result,$i,"Client_averti");
            ?>
            <?
            echo '<table border=\"0\">'."\n";
            echo '</tr>';
            echo '<tr>';
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$Ticket";
            echo '</b></font></td>';
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$Site";
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$ND";
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$Type";
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF"size="1">';
            echo "$Adresse_ip";
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$Contact";
            echo '</b></font></td>';
            echo '<td width="100"bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$Personne_sig";
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$dsj/$dsm/ $dsa à $dsh:$dsmin ";
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF"size="1">';
            echo "$Diagnostic";
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$drej/$drem/$drea à $dreh:$dremin";
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$drj/$drm/ $dra à $drh:$drmin";
            echo '</b></font></td>';
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$Duree";
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$Commentaire";
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$Client_averti";
            echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
            echo "$Personne_clot";
            echo '</tr>';
            echo '<tr>';
            ++$i; } } else { echo "Aucun Ticket n'est enregistré"; }
            ?>
            </p>
            </div>
            1. Si tu avais corrigé, tu n'aurais plus le problème.
              Peux-tu montrer le code "corrigé" ?
              1. Contributeur
                on pourrait "voir" un jour le résultat, parce que là c'est un flou artistique assez réussi
                1. salut;
                  j'ai corrigé mai tjrs le mm blem
                  ce que je veux :

                  si par exemple j'ai :

                  x y y
                  a b c

                  si la taill de a et b et c change je voi k la tail de x et y et z change aussi
                  expm :

                  xxxx yyyy zzzzzzz
                  aaa bbb ccccccc
                  1. Effectivement, il y a de gros problèmes....

                    Ton tableau doit commencer par <table> et finir par </table>. Il ne faut pas répéter <table> à chaque ligne !
                    chaque ligne doit commencer par <tr> et finir par </tr>
                    chaque cellule doit commencer par <td>et finir par </td>

                    et chaque balise ouverte doit être fermée : dans ta boucle, tes <center> n'ont pas de </center>, la plupart de tes <font> n'ont pas de </font>, et tu as de </b> sans <b>

                    commence par corriger tout ça
                    1. voilà mn scripte :
                      <div>
                      <?
                      echo '<table border=\"0\">'."\n";
                      echo '<tr>';
                      echo '<td bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>x</center></font></u></b></td>';
                      echo '<td bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>y</center></font></u></b></td>';
                      echo '<td bgcolor="#5D7FA4"><u><font color ="#F5F5F5" size="1"><center>z</center></font></u></b></td>';
                      ?>


                      <?
                      $query = "SELECT * FROM ma_table ............. ";
                      $result = mysql_query($query);
                      $num=mysql_num_rows($result);
                      ?>

                      <?php
                      if ($num > 0 ) {
                      $i=0;
                      while ($i < $num) {
                      $x = mysql_result($result,$i,"x");
                      $y = mysql_result($result,$i,"y");
                      $z = mysql_result($result,$i,"z");
                      ?>


                      <?
                      echo '<table border=\"0\">'."\n";
                      echo '</tr>';
                      echo '<tr>';
                      echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
                      echo "$x";
                      echo '</b></font></td>';
                      echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
                      echo "$x";
                      echo '<td width="100" bgcolor ="#CCCCCC"><center><font color ="#0000FF" size="1">';
                      echo "$y";
                      ++$i; } } else { echo "Aucun Ticket n'est enregistré"; }
                      ?>

                      </div>

                      Merçi
                      1. Bonjour

                        Il faudrait surtout montrer la partie affichage de ton script.
                        Parce que ce qu'on en voit là, ça commence déjà très mal.
                        J'ai bien l'impression que la balise <table> est à l'intérieur de la boucle, et que juste après cette balise <table> il y a une balise de fin de ligne </tr>. Pas étonnant que ça donne n'importe quoi à l'affichage
                        1. Contributeur
                          ça serait possible de voir un peu plus visuellement le résultat, parce que là...