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. Contributeur
    ça serait possible de voir un peu plus visuellement le résultat, parce que là...
    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. 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. 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. 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. Contributeur
              on pourrait "voir" un jour le résultat, parce que là c'est un flou artistique assez réussi
              1. Si tu avais corrigé, tu n'aurais plus le problème.
                Peux-tu montrer le code "corrigé" ?
                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. On a déjà vu qu'il était plein d'erreurs.
                    Peux -tu montrer la version corrigée ?
                    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. 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. Oui ta raison !!
                          ça marche mnt Impec ;)
                          merçi " Le pére " merçi " TheBishop" !!
                          ;)