PHP ... Petite question toute simple

Résolu
Bonjour,
Je souhaiterai comme affichage avoir cela :

sous_cat1 | sous_cat2
sous_cat3 | sous_cat4
etc ...


cependant j'obtien avec cette methode tout en liste !
$sql = "SELECT DISTINCT sous_cat FROM formulaire  WHERE cat = 'maison - habitat' ORDER BY id"; 
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );

echo "<tr>";
while ($liste=mysql_fetch_array($result)) 
{ 
extract($liste); 
echo "<tr>";
echo "$sous_cat"; 
echo "</tr>";
} 



Ne sachant pas tres bien me servir des tableaux, pouvez vous m'aider ! Merci
Configuration: Windows XP
Internet Explorer 7.0

10 réponses

  1. Y'a pas de quoi ;)
    Bonne chance dans la suite de ton projet ;)
    Cdlt.
    1. Excusez moi, c'est moi le boulet dans l'histoire ! Le code est parfait merci beaucoup a vous pour ce travail !
      Voici le résultat final !
      Beau travail !

      $sql = "SELECT DISTINCT sous_cat FROM formulaire  WHERE cat = 'maison - habitat' ORDER BY id"; 
      $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );
      
      echo "<table border ='1'>";
      $td = '0';
      while ($liste=mysql_fetch_array($result)) 
      { 
         if($td == '2')
         
         {$td = '0' ;}
         
         if($td == '0')
         {
            echo '<tr>';
         }
         
         echo '<td>'.$liste['sous_cat'].'</td>';
         
         if($td == '1')
         {
            echo '</tr>';
         }
         $td++;
      } 
      echo "</table>";
      
      echo "<\td>";
      


      MERCIII
      1. Alors, cela me donne :
        Un tableau a 2 lignes dont sur la premiere j'ai bien deux colonnes !
        mais sur la deuxieme ligne j'ai 7 colonnes !

        vous y etes presques ! Merci d'avance !
        1. Arf, le boulet -_-
          Désolé s'ma faute j'ai pas fait attention.

          ça donne quoi avec ça ?
          1. Bonjour

            if($td = 2)

            remplacer par if($td == 2)

            idem pour la comparaison avec 1 et 0, bien sûr
            1. code généré
              <table align='center' border='1' >
              <tr>
              <td bgcolor='#3366ff' font color='#FFFFFF'>
              <p  align='center' fontface='verdana' size='1'>essai</p></td>
              <td bgcolor='#3366ff' font color='#FFFFFF'><p  align='center' fontface='verdana' size='1'>Devis Fenêtres</p></td><td bgcolor='#3366ff' font color='#FFFFFF'><p  align='center' fontface='verdana' size='1'>Devis Evenementiel</p></td>
              <td bgcolor='#3366ff' font color='#FFFFFF'><p  align='center' fontface='verdana' size='1'>Devis chalets</p></td></tr><tr><td><table border ='1'><td>chauffage - climatisation</td></tr><td>construction - renovation</td></tr><td>cuisine - salle de bain</td></tr><td>electricite - alarme</td></tr><td>peinture - revetement</td></tr><td>portes - fenetres - verandas</td></tr><td>toitures - facades</td></tr><td>jardin - piscine - terrasse</td></tr><td>traitements - diagnostics - petits travaux</td></tr></table>
              


              Le tableau généré ne possède qu'une seule colonne.
              1. Pourrait tu coller le code source généré STP ? (afficher code source)
                essaye en remplaçant <table> par <table border='1'> (ligne 4 ou 5)

                Petite explication:
                <table> => j'ouvre un tableau
                $td = 0 => je definis la variable $td
                Dans la boucle while:

                si $td = 0 => j'ouvre un nouvelle ligne (<tr>)
                j'affiche la variable $liste['sous_cat'] <= ça tu va surement avoir besoin de le modifier du genre $liste['NOM_DU_CHAMP_SQL']
                si $td = 1 => je referme la ligne.
                $td++ => j'incremente $td de 1.

                Logiquement ça devrais créer un tableau de 2 case par ligne

                PS => je repondrais au reste plus tard, je rentre chez moi ^^
                J'en ai pour une heure, a tte ;)
                1. -REctification , en corigeant quelques fautes de syntaxe j'obtien comme resultat :
                  sous_cat1
                  sous_cat 2
                  sous_cat3 
                  etc
                  ...
                  


                  tout en ligne :s !!! alors que je souhaite l'avoir de cette maniere
                  A | B
                  C | D
                  etc ...
                  


                  Merci
                  1. ceci ne fonctionne pas ! page blanche et de plus, je ne vois pas bien ce que tu veux faire !
                    peux tu etre plus précis s'il te plait !
                    Merci beaucoup de prendre du temps pour mes soucis ! Merci
                    1. Essaye ça:

                      $sql = "SELECT DISTINCT sous_cat FROM formulaire  WHERE cat = 'maison - habitat' ORDER BY id"; 
                      $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );
                      
                      echo "<table>";
                      $td = 0;
                      while ($liste=mysql_fetch_array($result)) 
                      { 
                         if($td = 2){$td=0 }
                         if($td = 0)
                         {
                            echo '<tr>'
                         }
                         echo '<td>'.$liste['sous_cat'].'</td>';
                         if($td = 1)
                         {
                            echo '</tr>'
                         }
                         $td++;
                      } 
                      echo "</table>";