Aller au contenu

Mise en forme des resultats


Gribouille26

Sujets conseillés

Salut,

J'affiche, dans une page, des images provenant d'une bdd (les url, du moins) de la manière suivante:

if ($result) {
 while ($ligne = mysql_fetch_object($result)) {
   echo "<img src=\"http://www.monsite.com/".$ligne->url_icone."\">";
}
}

Ca marche très bien, mais tout s'affiche collé !!

D'où ma question:

Comment mettre un espace entre chaque icones ? :huh:

Gribouille

Lien vers le commentaire
Partager sur d’autres sites

if ($result) {
while ($ligne = mysql_fetch_object($result)) {
  echo "<img src=\"http://www.monsite.com/".$ligne->url_icone."\"> ";
}
}

Mettre un espace après la balise non ? Ou avant, au choix :P

Lien vers le commentaire
Partager sur d’autres sites

$compteur = 1;

if ($result)
{
while ($ligne = mysql_fetch_object($result))
{
  echo "<img src=\"http://www.monsite.com/".$ligne->url_icone."\"> ";
  $test = $compteur/4;
  if ($test == round($test)) echo "<br>";
  $compteur++;
}
}

Je ne sais pas s'il existe une fonction pour vérifier qu'un nombre est multiple d'un autre ?

Moi en tout cas, je fais la division de compteur par 4. Si le résultat est égal à son entier arrondi, alors c'est que compteur est un multiple de 4... Euh, jsuis pas sur de me faire comprendre :P.

Exemple par la pratique :

Si compteur = 7 alors compteur/4 = 1,75

Or l'arrondi de compteur/4 = 2

Donc compteur n'est pas un multiple de 4

Alors que si compteur = 8, compteur/4=2 et l'arrondi de 2=2 donc compteur est un multiple de 4...

Ca se transforme en cours de logique mathématique... Jme prends peut-être la tête quand je fais ça, les connaisseurs en PHP ?

Enfin bref, ça fait que à chaque fois que compteur sera un multiple de 4, il affichera un <br> pour que ça passe à la ligne :D

Lien vers le commentaire
Partager sur d’autres sites

Il peut y avoir plus simple :

$compteur=0;
if ($result)
{
while ($ligne = mysql_fetch_object($result))
{

if ($compteur==4){
$compteur=0;
echo"<br>";
}
$compteur++;
etc...

(avec des additions, ca le fait 'plus' :whistling: )

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

oui, ça le fait plus, mais.. [edit] J'ai rien à dire pour le mais [/edit]

C'est vrai, jme prends la tête, mais bon, j'aime bien :D et puis parfois je fais limite plus complexe, c'est pour ça :P

Modifié par sarc
Lien vers le commentaire
Partager sur d’autres sites

Merci.

J'ai compris la première explication de Sarc, mais pas le deuxième solution d'Anonymus.... :blush:

Tu n'affiche qu'un <br>. Alors j'ai essayer en mettant un "else affiche l'image", mais pas glorieux...

Pourrais-tu m'expliquer Anonymus ? stp

Gribouille

Lien vers le commentaire
Partager sur d’autres sites

$compteur=0;
if ($result)
{
while ($ligne = mysql_fetch_object($result))
{

if ($compteur==4)
{
$compteur=0;
echo"<br>";
}
$compteur++;
echo "<img src=\"http://www.monsite.com/".$ligne->url_icone."\"> ";
}
}

Voilà la solution d'anonymus... Si le compteur est à 4, tu rajoutes un <br>, et tu remets le compteur à 0, voilà son truc à lui (c'est trop simple, j'aime pas lol)...

Voili voilà ;)

Lien vers le commentaire
Partager sur d’autres sites

D'accord, merci, Sarc.

Donc pas besoin de else ou de else if.... :D

Et le $compteur++; ajoute 1.

Ce qui est étrange, c'est que ça ne marche que à partir de la troisième ligne !

Les deux premières ont une image de moins que le nombre demandé... :blink:

Gribouille

Lien vers le commentaire
Partager sur d’autres sites

Tu es sûre de toi ? Fais voir l'url, c'est surprenant :P lol

Jveux bien que PHP soit pas parfait, car la perfection n'existe pas, mais il sait compter de 0 à 4 je pense !! :D

Lien vers le commentaire
Partager sur d’autres sites

Effectivement cher Watson !!

Vous êtes un excellent détéctive !!

Mais ce n'est pas la 5 mais la 3 et la 7 qui ont disparues.

Je vais m'allumer une pipe et débuter l'enquète sur cette etrange disparition....:ph34r:

Merci Sarc et Anonymus de votre aide. :up:

Gribouille

Lien vers le commentaire
Partager sur d’autres sites

ce n'est pas /n mais \n ;)

Jte conseillais de le mettre à la fin de la ligne ou tu affiches l'image.. En fait, ça sert à passer à la ligne dans ta source, pour que tu puisses regarder ton code source plus facilement. La, si tu le regardes, toutes les images sont sur la même ligne, et donc tu avais du mal à compter le nombre d'images avant le premier <br>...

Si tu mets le \n à la fin de ta ligne, il passera à la ligne dans ta source, et ce sera une souce plus lisible lol...

Enfin, rien de très important ;)

Lien vers le commentaire
Partager sur d’autres sites

D'accord, j'ai compris.

C'est juste pour pouvoir lire le code plus facilement. Pour qu'il soit plus clair. :D

Merci de l'astuce, Sarc.  ;)

Gribouille

<{POST_SNAPBACK}>

(loin de moi l'idée de démoraliser Sarc :D )

Tu peux utiliser le \n, autrement dit le retour à la ligne pour avoir un code source plus lisible, mais tu peux aussi utiliser d'autres caractères, comme la tabulation :\t

Ainsi :

echo "<table>";
echo "<tr>";
echo "<td>";
echo "coucou";
echo "</td>";
echo "</tr>";
echo "</table>";

c'est joli, mais quand on regarde le code source, il tient sur une seule ligne.. ca fait désordre (et ce n'est pas évident pour repérer les éventuelles erreurs..

Par contre :

echo "<table>\n";
echo "\t<tr>\n";
echo "\t\t<td>\n";
echo "\t\t\tcoucou\n";
echo "\t\t</td>\n";
echo "\t</tr>\n";
echo "</table>\n";

c'est plus compliqué ? pas forcément. En tout ca, le code source est... nickel ;)

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

Loin de moi l'idée de te contredire Anonymus (héhé, chacun son tour d'embêter l'autre) mais le code source ne sert qu'à un navigateur à la base, pas au visiteur, si ? Le visiteur n'a pas a le regarder normalement, pour naviguer sur le site...

Le \n que je conseillais, c'était plus un aspect pratique pour Gribouille, pour qu'elle compte son nombre d'images et qu'elle voit ce qui va pas, que pour rendre le code source "joli" ou "nickel" comme tu dis, avec des tabulations au bon endroit :P

Tous ces espaces, en plus, ce sont des octets en trop à mon goût... Je suis pas pour une suroptimisation des pages, mais pas non plus pour mettre des grands blancs dans le code :P

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...