Besoin d'aide mise en évidence avec php

Résolu/Fermé
julien0224 Messages postés 8 Date d'inscription mardi 9 août 2011 Statut Membre Dernière intervention 2 septembre 2011 - Modifié par julien0224 le 9/08/2011 à 11:37
julien0224 Messages postés 8 Date d'inscription mardi 9 août 2011 Statut Membre Dernière intervention 2 septembre 2011 - 9 août 2011 à 11:49
Bonjour,

Je vous explique mon problème.
J'ai une base de donnée avec des produits.

Sur une page, j'ai la liste de tous les produits disponibles.
Je voudrais que le 4ème produit soit en évidence avec une taille supérieure (height et width).

J'ai alors fait une boucle avec incrémentation du style $i++

$nombreZ = 0; 

$infos = mysql_query("SELECT * FROM produits WHERE produit_rubrique='rire' ORDER BY  $decroissant $asc LIMIT $premierMessageAafficher, $nombreDeMessagesParPage")  
   if(mysql_num_rows($infos)>0) { 
while ($moninfo = mysql_fetch_array($infos)) 
{ 
$image1 = $moninfo['image1']; 

if($nombreZ == 4){ 
echo '<div class="produit" style="width:396px; height: 100px; background-color:  #000;"> .$image1. </div>'; 
} 

$nombreZ++; 

echo '<div class="produit"> .$image1. </div>'; 

}
}



Je débute en php. Mon problème c'est que ça crée un doublon:
- le produit avec la nouvelle taille puis le produit avec l'ancienne taille.

Pouvez-vous me dire où je me suis trompé et comment faire merci
A voir également:

2 réponses

le hollandais volant Messages postés 4998 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 23 décembre 2023 1 056
9 août 2011 à 11:39
Salut.
Normal que le produit est double : si $i=4, alors il est affiché via le IF, ainsi qu'en dessous.
Il faut alors faire un ELSE, tout simple :




$infos = mysql_query("SELECT * FROM produits WHERE produit_rubrique='rire' ORDER BY  $decroissant $asc LIMIT $premierMessageAafficher, $nombreDeMessagesParPage") 
   if(mysql_num_rows($infos)>0) {
while ($moninfo = mysql_fetch_array($infos))
{
$image1 = $moninfo['image1'];

if($nombreZ == 4){
echo '<div class="produit" style="width:396px; height: 100px; background-color:  #000;"> .$image1. </div>';
}
else {
echo '<div class="produit"> .$image1. </div>';
}
$nombreZ++;
}


(fais attention : tu n'as pas mis toutes les accolades dans le code que tu donnes sur le forum).
1
julien0224 Messages postés 8 Date d'inscription mardi 9 août 2011 Statut Membre Dernière intervention 2 septembre 2011
9 août 2011 à 11:49
Parfait....
J'avais essayé avec le "else" mais j'avais mal placé l'incrémentation du coup ça ne marchait comme je voulais.

Dans cet ordre tout est nikel...

(oui dans mon code tous les accolades sont présents.)

Merciiii bcp le hollandais.
0