Affichage de 3 produits aléatoirement.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Affichage de 3 produits aléatoirement.

par Dipsy29 » 19 nov. 2008, 14:49

Merci Zeus.

Ca marche.

par zeus » 18 nov. 2008, 12:19

Je ne sais pas ce que fait ta fonction tep_random_select(), mais je pense qu'elle n'est pas optimisée.

Je pense que la meilleure manière de faire, c'est en SQL, avec un

Code : Tout sélectionner

ORDER BY RAND() LIMIT 3

Affichage de 3 produits aléatoirement.

par Dipsy29 » 18 nov. 2008, 11:52

Bonjour !

Je souhaiterai afficher aléatoirement 3 produits issus d'une base de données.

Pour la fonction aléatoire, j'utilise ceci :
<?php
 if ($random_product = tep_random_select("select p.products_id, pd.products_name, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by s.specials_date_added desc limit " . MAX_RANDOM_SELECT_SPECIALS)) {
?> 

<div class="listingpromo">
<div class="listingTop"></div>    
  <div class="listingImage">
     <a href="<?php echo tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $random_product["products_id"]) ;?>"><?php echo tep_image(DIR_WS_IMAGES . $random_product['products_image'], $random_product['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) ;?></a>
    </div>
  <div class="listingInfos">
 	 <p class="listingName"><a href="<?php echo tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $random_product['products_id']) ;?>"><?php echo $random_product['products_name'] ;?></a></p>
    <p class="listingPrice">  
    <del><?php echo $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) ;?></del>
	  <span class="productSpecialPrice"><?php echo $currencies->display_price($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) ;?></span>
      </p>
   </div>
    
    <div class="listingBottom"></div>
</div>
<?php          
  }
?>
<br class="bottom">
?>
Ca m'affiche bien 1 produit aléatoirement, par contre, comment fait-on pour afficher 3 produits?
J'imagine qu'il faille utiliser la fonction while mais je ne sais pas trop comment la mettre en application.
Si une âme charitable pouvait m'aider, ce serait vraiment Top !