IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Amélioration de code (if) [Débutant(e)]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 12
    Points
    12
    Par défaut [Tableaux] Amélioration de code (if)
    Salut à tous,

    Cela fait bien longtemps que je n'ai plus codé, je m'y remet doucement là (mais sûrement hehe) et j'aurais besoin d'un petit coup de pouce. Pour organiser l'affichage de mon site, je fais une construction dynamique des lignes & colonnes de mon tableau. Mon if est ultra moche (à mon goût) et je suis quasi sûr qu'il y a une meilleure façon de faire ça.

    En gros, je veux afficher 4 images par ligne puis passer à la ligne suivante. J'ai créer un compteur ($vCP_TAB) et voici le bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <?php 
    $vCP_TAB = 0;
    do {
    $vCP_TAB = $vCP_TAB + 1;
     
    [... blabla des requêtes de select & co ...]
     
    if(($vCP_TAB == 1) || ($vCP_TAB == 5) || ($vCP_TAB == 13) || ($vCP_TAB == 17) || ($vCP_TAB == 21)) {
    ?>	
    			<tr>
    <?php } ?>	  			
    				<td width="125" align="center" valign="top"><img src="img/<?php echo $row_vOPUSQuery['OPUS_PICTURE1']; ?>" border="0"><br><b><?php echo $row_vOPUSQuery['OPUS_REF'];?></b></td>
    				<td valign="top">&nbsp; </td>
    <?php if(($vCP_TAB == 4) || ($vCP_TAB == 8) || ($vCP_TAB == 12) || ($vCP_TAB == 16) || ($vCP_TAB == 20))  { ?>
    			</tr>
    			<tr> 
    				<td colspan="2" align="center">&nbsp;</td>
    			</tr>
    			<tr> 
    				<td colspan="2">&nbsp;</td>
    			</tr>
     
    <?php } 
    }	
    while ($row_vOPUSQuery = mysql_fetch_assoc($vOPUSQuery)); 
    }?>	
    </table>
    Voilà, si quelqu'un a une suggestion, parce que là je sèche... ça serait gentil !

    Merci d'avance !
    N'oubliez pas d'éditer votre 1er message et d'ajouter [RESOLU] au titre de votre message une fois que vous avez la réponse !

  2. #2
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Points : 235
    Points
    235
    Par défaut
    Lorsque je veux faire ce genre de truc je fait par exemple (en algo c'est plus rapide)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    echo "<table>"
    i=0
    while.......
    {
    if i=0 echo <tr>
    apré tu affiche tes image
     
    i++
    if i>=4 echo </tr> i=0
    }
    echo </table>

  3. #3
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Le mieux c'est de travailler avec les modulos.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    cpt <= 0
    ouvrir tableau
    TANTQUE images FAIRE
       SI cpt %% 4 == 0 ALORS
          nouvelle ligne
       FINSI
       nouvelle cellule avec image
       cpt ++
    FIN TANTQUE
    fermer tableau
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Merci messieurs !
    N'oubliez pas d'éditer votre 1er message et d'ajouter [RESOLU] au titre de votre message une fois que vous avez la réponse !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Optimisation de code
    Par allserv dans le forum Langage
    Réponses: 8
    Dernier message: 07/03/2006, 22h44
  2. [Sécurité] Comment amélioré mon code ?
    Par Nadd dans le forum Langage
    Réponses: 14
    Dernier message: 03/03/2006, 20h13
  3. [Tableaux] probleme de code svp
    Par k-nine01 dans le forum Langage
    Réponses: 3
    Dernier message: 21/02/2006, 21h41
  4. [Tableaux] demande de code pour un menu deroulant
    Par carmen256 dans le forum Langage
    Réponses: 5
    Dernier message: 27/01/2006, 20h36
  5. [Tableaux] demande de code pour une fonction.php
    Par carmen256 dans le forum Langage
    Réponses: 4
    Dernier message: 21/01/2006, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo