Membres


Pas encore membre ?
inscrivez-vous ici

Connexion :
Login
Code
Mot de passe perdu ?
Liste des membres

Inserer un <br/> tout les 5

Inserer un <br/> tout les 5


Inserer un <br/> tout les 5     Posté le 15/11/2007 à 11:04
Proze
Membre
proze
73 posts
Inscrit le : 7/04/2007
Slt, j'ai un probléme pour afficher des miniature d'image, je veus inserer un <br/> tout les 5 images, alors j'ai fait comme sa :
<?PHP
$n
=0:
$n++;
if (
ereg("5",$n) or ereg("0",$n))
{
$retour "<br/><br/>";}
else {
$retour "";}
?>


Mais le probléme c'est quand sa arive aux image 50>>59 !

Voila le probléme, je ne vois pas comment faire autrement ! une idée ?

Merci !
 
Réponse à : Inserer un <br/> tout les 5     Posté le 15/11/2007 à 12:15
sky
Administrateur
Avatar
Site perso
4102 posts
Inscrit le : 13/08/2003
Salut proze
<?php
$retour 
'';
$n 1;
$i 0;
$total_image 100;
while(
$i $total_image)
{
  
// on ajoute l'image
  
$retour .= '<img src="images/images.jpg" alt="une description" />';
  
  
// si $n == 5, du coup on ajoute un <br />
  
if($n == 5)
    
$retour .= '<br />';
  
  
// si $n == 5, on le remet a 1 pour recommencer ...
  
if($n == 5)
    
$n 1;
  else
    
$n++;
  
  
// et pour terminer, on increment $i pour que la boucle s'arrete un jours !
  
$i++;
}

//on affiche le tout
echo $retour;
?>

Le principe étant de définir $n à 1, puis de l'incrementer de 1 à chaque boucle. Quand on arrive à 5, on le remet à 1 et on affiche un <br />.

Y'a un code plus court, mais ceci est pour que ce soit facile à comprendre.

$i est selon ton code. smiley

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Inserer un <br/> tout les 5     Posté le 15/11/2007 à 20:09
3run0
Administrateur
Avatar
1744 posts
Inscrit le : 1/10/2004
lit cette page elle va te plaire
Ici même :)

Positionement et affichage <==> CSS

_______________________
_ww.gabian-herault.com
 
Réponse à : Inserer un <br/> tout les 5     Posté le 15/11/2007 à 23:54
proze
Membre
Avatar
73 posts
Inscrit le : 7/04/2007
Slt, merci c'est asser facile comme truc mais revenir tout le temp a zero j'crois pas que j'y aurais pensez !

3run0, je sait faire tout sa le code qui est la haut est juste la parti ou je galere avec mes 5 !

Sinon en gros sa donne sa pour afficher les miniature :

<?php
$get_dossier 
"photos/".$_GET['DIR']."/vignette/";
$dir opendir($get_dossier); 
$n 0;
while(
$file readdir($dir)) {
    if(
$file != '.' && $file != '..' && !is_dir($dirname.$file))
    {
    
$n++;
    if (
ereg("5",$n) or ereg("0",$n))
    {
$retour "<br/><br/>";}
    else {
$retour "";}
    
    
$explode_file explode("."$file);
    
$name_file $explode_file[0];
    
    
        echo 
'&nbsp;&nbsp;<a href="photos/'.$_GET['DIR']."/".$name_file.'".jpg" title="" rel="lightbox[roadtrip]" >';
        echo 
'<img src="'.$get_dossier.$file.'" alt="'.$get_dossier.$file.'"/>';
        echo 
'</a>'.$retour.'';
    }
}

closedir($dir);
 
?>


smiley

_______________________
Aucun
 
Réponse à : Inserer un <br/> tout les 5     Posté le 16/11/2007 à 08:34
sky
Administrateur
Avatar
Site perso
4102 posts
Inscrit le : 13/08/2003
Laisse tombé les ereg ... ça sert strictement à rien du tout.

Tu test si une valeur est égale ou non à 5 ... pas si la variable contient 5 ou 0...

donc :

$retour = '';
if($n == 5 || $n == 0)
$retour = '<br /><br />';


en plus simplifier avec une condition ternaire :
$retour = ($n == 5 || $n == 0) ? "<br /><br />" : "";

Les ereg sont utiliser avec des expression régulières.

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Inserer un <br/> tout les 5     Posté le 16/11/2007 à 13:20
proze
Membre
Avatar
73 posts
Inscrit le : 7/04/2007
Slt, j'ai suivit ton code, et sa marche trés bien !
donc sa resemble à sa :

<?php
// Declaration du dossier et ouverture
$get_dossier "photos/".$_GET['DIR']."/vignette/";
$dir opendir($get_dossier);
// Declaration variables
$n 0$i 0;
// On compte le nombre d'image.
$tab glob($get_dossier."{*.gif,*.jpg,*.jpeg,*.png}"GLOB_BRACE);
$nb_img count($tab);
// ======================    

while($file readdir($dir) or $i<$nb_img) {
    if(
$file != '.' && $file != '..' && !is_dir($dirname.$file)) {
    
// Test pour le retour a la ligne
    
$i++; $n++;
    if(
$n == 5)
    {
$retour "<br/>"$n 0;}
    else { 
$retour ""; }
    
    
// Recuperation du nom du fichier sans l'extention
    
$explode_file explode("."$file);
    
$name_file $explode_file[0];

    
// Mise en forme
    
echo '&nbsp;&nbsp;<a href="photos/'.$_GET['DIR']."/".$name_file.'".jpg" title="" rel="lightbox[roadtrip]" >';
    echo 
'<img src="'.$get_dossier.$file.'" border="0" alt="'.$get_dossier.$file.'"/>';
    echo 
'</a>'.$retour.'';
    
// ======================    
    
}
}
// Fermeture du dossier
closedir($dir);
 
?>


Voila, sinon j'aurai bien voulu des info sur ta facon de faire les if et else sans les {} ?

Dans quel condition ?

Merci !

_______________________
Aucun
 
Réponse à : Inserer un <br/> tout les 5     Posté le 16/11/2007 à 14:23
sky
Administrateur
Avatar
Site perso
4102 posts
Inscrit le : 13/08/2003
Les differente façon de faire la même chose :
<?php
if($n == 5)
{
$retour = "<br/>";
}
else
{
$retour = "";
}
?>

soit

<?php
$retour = '';
if($n == 5)
$retour = '<br />';
?>

soit

<?php
if($n == 5)
$retour = "<br/>";
else
$retour = "";
?>

soit :

<?php
$retour = ($n == 5) ? "<br />" : "";
?>


Bref, y'a plein de façon d'ecrire une condition ... et plein de façon de comment penser une condition.
Si tu ne veut pas mettre d'accolade "{" ou "}" il faut avoir UNE seul action à faire genre :
<?php
if($n == 5)
$retour = '<br />';
$n = 0;
?>

$retour sera bien egale a <br /> si $n egale 5, mais $n sera remis a 0 a chaque fois.
donc dans ce cas précis, il faudrai mettre les accolade

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Inserer un <br/> tout les 5     Posté le 16/11/2007 à 14:38
proze
Membre
Avatar
73 posts
Inscrit le : 7/04/2007
Ok super, y'a l'choix !

Celle la me plait bien :

<?php
$retour = ($n == 5) ? "<br />" : "";
?>

si j'ai bien comprit c'est

$retour = (si $n ==5) à "sa" sinon "sa"

?


_______________________
Aucun
 
Réponse à : Inserer un <br/> tout les 5     Posté le 16/11/2007 à 15:06
sky
Administrateur
Avatar
Site perso
4102 posts
Inscrit le : 13/08/2003
exactement.

ça s'appelle une condition ternaire.

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Inserer un <br/> tout les 5     Posté le 16/11/2007 à 19:39
3run0
Administrateur
Avatar
1744 posts
Inscrit le : 1/10/2004
desolé d'insister mais le CSS et un peu de math :p
des vignettes de 100px de large passerons automatiquement a la ligne toute les 5 images si on les affichent dans un div de 520px.
Dans ce cas pourquoi forcer la mise en page en PHP (serveur) alors que le poste client le gère trés bien grace au CSS
Un code plus légé et moins de travail pour le serveur avec un affichage équivalent me semble être une trés bonne chose non?


_______________________
_ww.gabian-herault.com
 
Réponse à : Inserer un <br/> tout les 5     Posté le 16/11/2007 à 20:13
sky
Administrateur
Avatar
Site perso
4102 posts
Inscrit le : 13/08/2003
3run0, surement que oui, mais y'a des fois ou tu peut pas laisser allez au flux de la page smiley

enfin, bref, oui, c'est aussi une autre solution !

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Vous n'est pas connecté en temps que membre, parceque j'en ai marre du spam, SEUL les membres peuvent poster des messages sur le forum.

Nous  -  Plan du site  -  Informations légale  -  Contact  -  © Graphiks.net