Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour à tous,
Je suis en train de réaliser une boutique en ligne et le but de mon post est d'améliorer l'affichage des articles à travers une boucle.
J'arrive très bien à les afficher les uns en dessous des autres mais le soucis, c'est que quand il y a 100 articles dans la même catégorie, cela fait des page à rallonge
Je voudrais en afficher 3 ou 4 sur la même ligne puis un retour à la ligne. un peu comme dans cet exemple :
http://www.gt2i-competition.com/Casques … 1_476.html
Est ce possible ?
Mon script est contruit comme ceci :
--------------------------------------------------
echo "<table width=\"300\" height=\"182\" border=\"0\" align=\"center\">";
while($data = mysql_fetch_array($sql))
{
...........
}
echo "</table>";
?>
--------------------------------------------------
Merci d'avance pour votre aide...
Hervé
Hors ligne
Bonjour,
Oui c'est tout à fait possible (sinon pour commencer, l'exemple cité n'aurait pas pu être réalisé^^). La réponse à votre problème consiste tout simplement à résoudre un problème d'arithmétique de base: représenter un nombre modulo un autre nombre, ou dit différement, vérifier la divisibilité d'un nombre par un autre.
++
Dernière modification par Jc (07-03-2012 21:16:10)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Saluton,
Essaye de comprendre ce petit bout de script :
qui donne ce résultat
| 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 | 44 | 45 |
| 46 | 47 | 48 | 49 | 50 |
| 51 | 52 | 53 |
et imagine de remplacer le test sur l'incrémentation de $compteur par une incrémentation couplée à un %$cols et tu auras une idée un peu plus concrète de ce que te propose notre bon Jc.
Rappel afférent à l'opérateur modulo en PHP %.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Je te donne un piste supplémentaire, voici une variante du code précédent
qui utilise l'opérateur modulo PHP.
Dans les deux versions, on peut jouer sur la valeur de $cols, pour changer le nombre d'items par ligne.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Si j'ai a peu pres compris, tu me dis de diviser le nombre de resultats que j'obtiens dans ma requete par 3 ? A quoi cela sert t'il ?
Je vais continuer mon approche du problème pour que vous puissiez bien comprendre qu'il s'agit d'un problème d'arithmétique de base, et aussi de façon à rester complémentaire à MK qui vous donne l'approche PHP de ce que j'ai exprimé au départ à savoir la divisibilité d'un nombre par un autre.
Donc pour répondre à votre question, si vous divisez le nombre de résultats que vous obtenez dans votre requête par 3, qui représente ici votre nombre de colonnes, qu'obtenez vous? le nombre de lignes. Si la division est exacte, ce qui signifie alors que le nombre d'enregistrements est divisible par 3 ou encore que le reste de la division par 3 du nombre d'enregistrements est égal à 0, toutes les lignes auront 3 enregistrements chacune. Par contre si le reste de cette division >0 (la division donne un nombre décimal), alors vous aurez une ligne supplémentaire qui aura pour nombre d'enregistrement(s) la valeur du reste de votre division par 3, et c'est cette valeur que calcule l'opérateur modulo de PHP (%).
J'espère que vous avez désormais compris l'intérêt.
Cordialement,
Jc
Dernière modification par Jc (08-03-2012 22:25:58)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Oui j'ai parfaitement compris l'interet d'utiliser l'opérateur modulo de PHP mais je vais certainement avoir du mal à mettre cela en oeuvre dans mon script. Je vais tout de même essayer...
Hors ligne
Pages :: 1