Partage
  • Partager sur Facebook
  • Partager sur Twitter

Configuration d'un tableau

Utiliser la parité d'un id d'une bdd

Sujet résolu
    25 novembre 2005 à 9:31:40

    Bonjour à tous.
    Je souhaite faire un tableau (appelons le T1) dans lequel pour chaque ligne qui est en fait un nouveau tableau (T2) afficher un logo d'entreprise dans la cellule de droite et dans celle de gauche l'adresse de cette dernière. De plus je souhaite que T2 soit une fois aligné à gauche lorsque l'id de l'entreprise est impair par exemple et la ligne en dessous une nouvelle entreprise aligné a droite dans T1 et qui a un id pair.
    Ma question : Comment puis-je definir dans mon script "Si $id est pair alors aligner à droite Sinon aligner à gauche" ?

    J'ai trouver quelques infos parlant des modulo mais je n'arrive pas à voir comment les mettre en place dans ma page.
    Je vous met le lien de la page que j'ai réalisé en html pour que vous voyez à quoi cela devrait ressembler:
    http://dam1b.free.fr/index.php?file=Page&name=nos_partenaires

    D'avance merci pour vos réponses

    MacGivrer
    • Partager sur Facebook
    • Partager sur Twitter
      25 novembre 2005 à 9:50:48

      Simple voilà le schéma :

      if($id%2==0)
      ====> pair
      else
      ====> impair

      A partir de là, tu peux tout faire en utilisant une simple variable
      • Partager sur Facebook
      • Partager sur Twitter
        25 novembre 2005 à 10:21:07

        Merci Bison je vais essayer.
        • Partager sur Facebook
        • Partager sur Twitter
          28 novembre 2005 à 9:37:41

          Bonjour a tous en ce lundi matin.
          Concernant mon petit souci de script je me permet de revenir vers vos connaissances car il doit me manquer un petit quelque chose pour qu'il tourne correctement.

          Voici la page en question : http://dam1b.free.fr/index.php?file=Page&name=partenaires_test

          Comme vous pouvez le voir sur la page il y a quell ligne qui sont de trop...
          Je vous explique ce que je souhaterais et ensuite je mettrais mon srript tel qu'il est à l'heure actuelle.
          Je souhaiterai voir pour la 1ere ligne 1 seule cellule alignée a gauche, pour la seconde, 1 seule cellule aligné a droite et ainsi de suite, 1 coup a gauche, 1 coup a droite. Car comme vous pouvez le voir j'ai 2 cellules sur 1 ligne qui affiche la meme chose mais configuré differemment alors qu'il faudrait que toutes les cellules alignées a gauche soit de la forme LOGO/ADRESSE et pour celle alignées a droite ADRESSE/LOGO.
          Je vous met un petit schema pour comprendre :
          Image utilisateur

          ainsi que le script pour voir ce qui ne vas pas.

          <?
          mysql_connect("");
          mysql_select_db("");

          $reponse = mysql_query("SELECT * FROM partenaires");

          while ($donnees = mysql_fetch_array($reponse) )

          {
          ?>
          if ($donnees['id'] % 2 == 0)
          <table align="center" width="600" border="0">
          <tr>
          <td>
          <table align='left' width='450' border='1'>
          <tr>
          <td width='150'>
          <p align="center"><img src="<? echo $donnees['logo']; ?>" width="150"></p>
          </td>
          <td width='300'>
          <br />
          <span style='font-size:10pt; margin-left:10px'><? echo $donnees['entreprise'];?></span><br />
          <span style='font-size:10pt; margin-left:10px'><? echo $donnees['adresse1'];?></span><br />
          <span style='font-size:10pt; margin-left:10px'><? echo $donnees['code_postal'];?>&nbsp;<? echo $donnees['ville'];?></span><br /><br />
          </td>
          </tr>
          </table>
          </td><br />
          else
          <td>
          <table align="right" width="450" border="1">
          <tr>
          <td width="300" align="right">
          <br />
          <span style="font-size:10pt; margin-right:10px"><? echo $donnees['entreprise'];?></span><br />
          <span style="font-size:10pt; margin-right:10px"><? echo $donnees['adresse1'];?></span><br />
          <span style="font-size:10pt; margin-right:10px"><? echo $donnees['code_postal'];?>&nbsp;<? echo $donnees['ville'];?></span><br /><br />
          </td>
          <td width="150">
          <p align="center"><img src="<? echo $donnees['logo']; ?>" width="150"></p>
          </td>
          </tr>
          </table>
          </td><br />

          </tr>
          </table>
          <?
          }
          ?>



          Voila, en esperant avoir été assez clair dans mes explications je vous remercie déjà pour vos futures réponses.

          A+

          MacGivrer
          • Partager sur Facebook
          • Partager sur Twitter
            28 novembre 2005 à 9:44:22

            Edit ton message pour colorer le php, mais sinon je peux déjà te dire que tu as une erreur c'est que ton if est en dehors de ta balise php ( <? ?> ).

            Mais ce sera plus facile quand le code sera mis en forme ;)

            EDIT : Et enlève ton code pour la connexion mysql !
            • Partager sur Facebook
            • Partager sur Twitter
              28 novembre 2005 à 9:55:18

              J'ai insérer mon IF juste après le while et maintenant je n'ai que les partenaires avec un id pair.
              • Partager sur Facebook
              • Partager sur Twitter
                28 novembre 2005 à 10:10:37

                Tiens, essaye ça, j'ai retravaillé ton code pour l'alléger un peu, dis moi si ça fonctionne :
                <?
                mysql_connect("");
                mysql_select_db("");

                $reponse = mysql_query("SELECT * FROM partenaires");

                while ($donnees = mysql_fetch_array($reponse) )
                {
                  echo '
                <table align="center" width="600" border="0">
                <tr>
                  <td>
                    <table align="'
                ;
                ($donnees['id']%2==0)?echo 'right':echo 'left';
                echo '" width="450" border="1">
                    <tr>
                      <td width="150">
                        <p align="center"><img src="'
                .$donnees['logo'].'" width="150"></p>
                      </td>
                      <td width="300">
                        <br />
                        <span style="font-size:10pt; margin-left:10px">'
                .$donnees['entreprise'].'</span><br />
                        <span style="font-size:10pt; margin-left:10px">'
                .$donnees['adresse1'].'</span><br />
                        <span style="font-size:10pt; margin-left:10px">'
                .$donnees['code_postal'].'&nbsp;'.$donnees['ville'].'</span><br /><br />
                      </td>
                    </tr>
                    </table>
                  </td>
                </tr>
                </table>'
                ;
                }
                • Partager sur Facebook
                • Partager sur Twitter
                  28 novembre 2005 à 10:38:46

                  J'ai testé ton code mais quand je lance la page j'ai le message suivant :
                  Parse error: parse error, unexpected T_ECHO in /var/www/free.fr/0/c/dam1b/modules/Page/php/partenaires_test2.php on line 14
                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 novembre 2005 à 11:03:33

                    Fo pas dire, mais je m'en doutais un peu ^^

                    Essaye ça :
                    <?
                    mysql_connect("");
                    mysql_select_db("");

                    $reponse = mysql_query("SELECT * FROM partenaires");

                    while ($donnees = mysql_fetch_array($reponse) )
                    {
                      echo '
                    <table align="center" width="600" border="0">
                    <tr>
                      <td>
                        <table align="'
                    ;
                    if($donnees['id']%2==0){
                      echo 'right';
                    }
                    else{
                      echo 'left';
                    }
                    echo '" width="450" border="1">
                        <tr>
                          <td width="150">
                            <p align="center"><img src="'
                    .$donnees['logo'].'" width="150"></p>
                          </td>
                          <td width="300">
                            <br />
                            <span style="font-size:10pt; margin-left:10px">'
                    .$donnees['entreprise'].'</span><br />
                            <span style="font-size:10pt; margin-left:10px">'
                    .$donnees['adresse1'].'</span><br />
                            <span style="font-size:10pt; margin-left:10px">'
                    .$donnees['code_postal'].'&nbsp;'.$donnees['ville'].'</span><br /><br />
                          </td>
                        </tr>
                        </table>
                      </td>
                    </tr>
                    </table>'
                    ;
                    }
                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 novembre 2005 à 13:06:30

                      Dans l'esprit c'est ca mais ce que je souhaite c'est que lorsque la cellule est alignée a droite que la position des cellules internes soient inversées par rapport celles qui sont alignées a gauche comme je l'ai montré dans le petit tableau un peu plus haut.

                      align gauche align droite
                      LOGO/ADRESSE
                      ADRESSE/LOGO

                      Donc je pense qu'il faut peut etre fait 2 echo differents en fonction de l'id demandé.
                      Par exemple est-ce que si je recopie l'echo que tu a fait après chacun des choix right et left en y faisant les modif souhaité cela peut marché? Qu'en penses tu? Ou peut etre enregistré au prealable l'organisation des cellules du genre theme1 pour align gauche et theme2 pour align droite et le ressortir en fonction de l'id. Quelque chose qui pourrait etre "Si id pair alors afficher sous la forme theme1".
                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 novembre 2005 à 13:25:17

                        Citation : macgivrer

                        Qu'en penses tu?



                        Que ça risque d'être un peu trop lourd pour rien. Si tu analyse ce que j'ai fais, tu verra que la seule partie qui change en fonction du nombre pair ou impair, c'est la align left ou right, si tu fais pareil pour l'affichage du logo et du texte, ça devrait marcher.

                        Exemple dans 5 minutes :p
                        • Partager sur Facebook
                        • Partager sur Twitter
                          28 novembre 2005 à 14:09:27

                          Lut

                          Y'a pas un pb dans les tableaux..? Par ce que la, y'a un qui sert à rien...!
                          • Partager sur Facebook
                          • Partager sur Twitter
                            28 novembre 2005 à 14:32:49

                            Ah, oui, en effet, j'avais pas vu que le premier tableau commence dans la boucle. Désolé de pas être revenu plus vite, boulot oblige... Bon voilà, alors j'ai repris un peu le code, test et dis moi :
                            <?
                            mysql_connect("");
                            mysql_select_db("");

                            $reponse = mysql_query("SELECT * FROM partenaires");

                            echo '<table align="center" width="600" border="0">';

                            while ($donnees = mysql_fetch_array($reponse) )
                            {
                              if($donnees['id']%2==0){
                                $pair = 1;
                              }
                              else{
                                $pair = 0;
                              }

                              echo '
                            <tr>
                              <td>
                                <table align="'
                            ;

                            if($pair==1){ echo 'right';}
                            else{ echo 'left';}

                            echo '" width="450" border="1">
                                <tr>'
                            ;

                            if($pair==1){ echo '
                                  <td width="300">
                                    <br />
                                    <span style="font-size:10pt; margin-left:10px">'
                            .$donnees['entreprise'].'</span><br />
                                    <span style="font-size:10pt; margin-left:10px">'
                            .$donnees['adresse1'].'</span><br />
                                    <span style="font-size:10pt; margin-left:10px">'
                            .$donnees['code_postal'].'&nbsp;'.$donnees['ville'].'</span><br /><br />
                                  </td>
                                  <td width="150">
                                    <p align="center"><img src="'
                            .$donnees['logo'].'" width="150"></p>
                                  </td>'
                            ;
                            }
                            else { echo '
                                  <td width="150">
                                    <p align="center"><img src="'
                            .$donnees['logo'].'" width="150"></p>
                                  </td>
                                  <td width="300">
                                    <br />
                                    <span style="font-size:10pt; margin-left:10px">'
                            .$donnees['entreprise'].'</span><br />
                                    <span style="font-size:10pt; margin-left:10px">'
                            .$donnees['adresse1'].'</span><br />
                                    <span style="font-size:10pt; margin-left:10px">'
                            .$donnees['code_postal'].'&nbsp;'.$donnees['ville'].'</span><br /><br />
                                  </td>'
                            ;
                            }
                            echo '
                                </tr>
                                </table>
                              </td>
                            </tr>'
                            ;
                            }

                            echo '</table>';
                            • Partager sur Facebook
                            • Partager sur Twitter
                              28 novembre 2005 à 14:40:42

                              Re

                              Perso, je vois pas l'utilité de mettre une variable $pair.... Ni le fait de couper le if en deux...
                              <?
                              mysql_connect("");
                              mysql_select_db("");

                              $reponse = mysql_query("SELECT * FROM partenaires"); //Il est préférable d'enlever l'étoile ici, question d'optimisation

                              echo '<table align="center" width="600" border="0">';

                              while ($donnees = mysql_fetch_array($reponse) ) {
                                  echo '
                              <tr>
                                <td>
                                  <table align="'
                              ;

                              if($donnees['id']%2==0){
                                echo 'right" width="450" border="1">
                                  <tr>
                                    <td width="300">
                                      <br />
                                      <span style="font-size:10pt; margin-left:10px">'
                              .$donnees['entreprise'].'</span><br />
                                      <span style="font-size:10pt; margin-left:10px">'
                              .$donnees['adresse1'].'</span><br />
                                      <span style="font-size:10pt; margin-left:10px">'
                              .$donnees['code_postal'].'&nbsp;'.$donnees['ville'].'</span><br /><br />
                                    </td>
                                    <td width="150">
                                      <p align="center"><img src="'
                              .$donnees['logo'].'" width="150"></p>
                                    </td>'
                              ;
                              }
                              else {
                                echo 'left" width="450" border="1">
                                  <tr>
                                    <td width="150">
                                      <p align="center"><img src="'
                              .$donnees['logo'].'" width="150"></p>
                                    </td>
                                    <td width="300">
                                      <br />
                                      <span style="font-size:10pt; margin-left:10px">'
                              .$donnees['entreprise'].'</span><br />
                                      <span style="font-size:10pt; margin-left:10px">'
                              .$donnees['adresse1'].'</span><br />
                                      <span style="font-size:10pt; margin-left:10px">'
                              .$donnees['code_postal'].'&nbsp;'.$donnees['ville'].'</span><br /><br />
                                    </td>'
                              ;
                              }
                              echo '
                                  </tr>
                                  </table>
                                </td>
                              </tr>'
                              ;
                              }

                              echo '</table>';


                              Sinon
                              <?
                              mysql_connect("");
                              mysql_select_db("");

                              $reponse = mysql_query("SELECT * FROM partenaires"); //Il est préférable d'enlever l'étoile ici, question d'optimisation

                              echo '<table align="center" width="600" border="0">';

                              while ($donnees = mysql_fetch_array($reponse) ) {
                                  echo '
                              <tr>
                                <td>
                                  <table align="'
                              ;

                              if(!$donnees['id']%2==0){
                                echo 'left" width="450" border="1">
                                  <tr>
                                    <td width="150">
                                      <p align="center"><img src="'
                              .$donnees['logo'].'" width="150"></p>
                                    </td>'
                              ;
                              } else {
                                echo 'right" width="450" border="1">
                                  <tr>'
                              ;}

                              echo '
                                    <td width="300">
                                      <br />
                                      <span style="font-size:10pt; margin-left:10px">'
                              .$donnees['entreprise'].'</span><br />
                                      <span style="font-size:10pt; margin-left:10px">'
                              .$donnees['adresse1'].'</span><br />
                                      <span style="font-size:10pt; margin-left:10px">'
                              .$donnees['code_postal'].'&nbsp;'.$donnees['ville'].'</span><br /><br />
                                    </td>'
                              ;

                              if($donnees['id']%2==0){
                                echo '
                                    <td width="150">
                                      <p align="center"><img src="'
                              .$donnees['logo'].'" width="150"></p>
                                    </td>'
                              ;}

                              echo '
                                  </tr>
                                  </table>
                                </td>
                              </tr>'
                              ;
                              }

                              echo '</table>';
                              • Partager sur Facebook
                              • Partager sur Twitter
                                28 novembre 2005 à 14:50:56

                                Ah, oui. Perso je préfère la deuxième solution.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  28 novembre 2005 à 14:54:05

                                  Moi aussi....

                                  PS: Merci Erdnax, c'est toi qui a fait le plus gros du boulot ;)
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    28 novembre 2005 à 15:00:16

                                    Citation : Hawks

                                    Moi aussi....

                                    PS: Merci Erdnax, c'est toi qui a fait le plus gros du boulot ;)



                                    Et merci à toi pour les corrections, je ne suis malgré tout qu'un "débutant" avec php... Il me manque encore un peu de pratique :p
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      28 novembre 2005 à 15:03:45

                                      Tiens j'ai fait une erreur..... (c'est bon c'est corrigé)
                                      Moi aussi je suis un "débutant".....
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        28 novembre 2005 à 15:12:58

                                        Citation : Erdnax

                                        Désolé de pas être revenu plus vite, boulot oblige


                                        T'inquiète pas je suis moi aussi au boulot.

                                        Merci a vous 2 pour votre aide. C'est toujours sympa de trouver des personnes pretent à aider des débutants.

                                        A+

                                        MacGivrer
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Configuration d'un tableau

                                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                        • Editeur
                                        • Markdown