Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > phplib et phpBB
phplib et phpBB Forum d'entraide sur les moteurs de templates phplib et phpBB. Avant de poster -> FAQ gabarits phpBB2, Cours phpBB2 et Sources phpBB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/09/2007, 15h12   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 57
Points : 11
Points : 11
Par défaut [phpBB 2] Faire une boucle sur plusieurs colonnes

Bonjour à tous,

Sur ma page web, j'appelle différents produits, je voudrais que lorsque j'exécute ma boucle, l'affichage des produits se fassent sur plusieurs colonnes.

Je bloc dessus depuis plusieurs jours, si vous pouviez m'aider...

Fichier TPL:

Code :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 <table width="780" border="0" cellspacing="5" bgcolor="#dee990">
        <!-- BEGIN produits -->
        <tr>
          <td><table width="600" border="0" align="center" bgcolor="#FFFFFF">
            <tr>
              <td valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
                  <tr>
                    <td class="titre_prod">{produits.TITRE}</td>
                    <td width="100" rowspan="2" valign="top"><img src="images/photos_produits/icones/{produits.PROMO}" /></td>
                  </tr>
                  <tr>
                   <td height="30" valign="top"><img src="images/photos_produits/icones/{produits.NOUVEAUTE}" align="absmiddle" /></td>
                  </tr>
                  <tr>
                    <td colspan="2" class="texte_prod">{produits.DETAIL}</td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                   <td>&nbsp;</td>
                  </tr>
                  <tr>
                    <td class="prix_prod">{produits.PRIX} &euro;</td>
                    <td>&nbsp;</td>
                  </tr>
              </table></td>
              <td width="170" valign="top"><table width="200" border="0" cellpadding="0" cellspacing="0">
                  <tr>
                    <td><img src="images/photos_produits/{produits.PHOTO}" alt="{TITRE}" title="{TITRE}" /></td></tr>
                  <tr>
                    <td>&nbsp;</td>
                  </tr>
                  <tr>
                    <td><div align="center"><a href="#"><img src="images/b_agrandir.gif" width="100" height="18" border="0" onClick="MM_openBrWindow('images/photos_produits/gd/{produits.PHOTO}','','width=510,height=650')"></a></div></td>
                  </tr>
              </table></td>
              </tr>
            <tr>
              <td height="1" colspan="2" valign="top" bgcolor="#889C02"></td>
              </tr>
          </table></td>
        </tr>
        <!-- END produits -->
      </table>
Fichier PHP:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$sql->DatabaseConnexion();
$aff_produits = $sql->query("SELECT * FROM "._TPROD_);
$sql->DatabaseClose();
 
while($results = mysql_fetch_array($aff_produits,MYSQL_ASSOC)) {      
	$tpl->assign_block_vars('produits', array(
					'TITRE' => $results['titre'],
					'DETAIL' => $results['detail'],
					'PHOTO' => $results['photo'],
					'NOUVEAUTE' => $results['nouveaute'],
					'PROMO' => $results['promo'],
					'PRIX' => $results['prix'],
					));
}
J'ai remis ma requête à l'état initiale.

Merci d'avance!
Vinuto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2007, 15h32   #2
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 57
Points : 11
Points : 11
J'ai entendu parlé du "modulo"... est-ce que sur mon code, ce système serait adaptable?
Vinuto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2007, 16h12   #3
Membre actif
 
Avatar de bluemartini
 
Inscription : avril 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : avril 2006
Messages : 154
Points : 160
Points : 160
Est ce que j'ai mal compris ou dans ta base tu as une seule table comprenant les nouveautés, les promotions, .... et en fonction de cela tu veux les afficher dans différentes colonnes?
bluemartini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2007, 19h48   #4
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 57
Points : 11
Points : 11
Tout est sur une table.

En faite ce que je voudrais c'est qu'au lieu d'avoir mes produits qui s'affichent les uns en dessous des autres, l'affichage se fasse sur deux colonnes.
Vinuto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2007, 23h27   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Il faut déjà repenser cela au niveau de votre structure HTML et de celle du template : il est nécessaire d'introduire un nouveau bloc.

Exemple abrégé :
  • Le template :
    Code HTML :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <table>
        <!-- BEGIN ligne -->
        <tr>
            <!-- BEGIN produits -->
            <td>{ligne.produits.TITRE}</td>
            <td>{ligne.produits.PRIX}</td>
            <td>{ligne.produits.DETAIL}</td>
            <!-- END produits -->
        </tr>
        <!-- END ligne -->
    </table>
  • Le code PHP :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $i = 0;
    while($results = mysql_fetch_assoc($aff_produits)) {
        if (!($i % 2)) {
            $tpl->assign_block_vars('ligne', array());
        }
        $tpl->assign_block_vars('ligne.produits',
            array(
                'TITRE' => $results['titre'],
                'DETAIL' => $results['detail'],
                'PRIX' => $results['prix']
            )
        );
        $i++;
    }
J'espère que j'ai encore de bons restes
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 10h45   #6
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 57
Points : 11
Points : 11
C'est exactement ça!!!

Merci beaucoup!!!

Vinuto est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h50.


 
 
 
 
Partenaires

Hébergement Web