Page 1 sur 1
ma boucle pour mes image ne fonctionne pas
Posté : 17 sept. 2005, 13:10
par guismoman33
j'ai fai une boucle pour afficher des imaje mai ceci marche po aidez mloi svp
mon script
Code : Tout sélectionner
<?
if ($num=NULL)
{
$num=1;
}
$num_foto=3;
$temoin=10;
$plus=1;
while ($temoin>$plus)
{
$affichage=$temoin*$num-$temoin+$plus;
echo '<img border="0" src="img/'.$affichage.'.jpg" include "'.$affichage.'.php">';
$plus=$plus+1;
}
?>
Posté : 17 sept. 2005, 13:12
par Cyrano
L'opérateur de comparaison est le == et non le = simple, donc:
<?
if ($num == NULL)
{
$num = 1;
}
$num_foto = 3;
$temoin = 10;
$plus = 1;
while ($temoin>$plus)
{
$affichage = $temoin*$num-$temoin+$plus;
echo '<img border = "0" src = "img/'.$affichage.'.jpg" include "'.$affichage.'.php">';
$plus = $plus+1;
}
?>
Petite note de modération tout de même : le titre du sujet se passe très bien de grossièretés, je modifie.
Grosse note de modération : Pas de multi-postage
Posté : 17 sept. 2005, 14:09
par guismoman333
mai j'imerai pousser le bouchont un peu plus loin
1/tu vois j'ai ke troi image donc kan jouvre ma page 7 petite croi ce mette
2/jaimerai metre un générateur de numéro si tu voi ske je ve dire??
Posté : 17 sept. 2005, 16:01
par Cyrano
Hé ! tu es pas sur un téléphone portable : le langage SMS est banni ici. Vas lire les règlements du forum !
Posté : 17 sept. 2005, 19:32
par guismoman3
désolé mec je suis pas habituer tu peut m'aider sil te plait
Posté : 18 sept. 2005, 11:29
par pjl
Désolé mais Cyrano est un développeur PHP, pas un professeur de français.
Posté : 18 sept. 2005, 11:40
par Cyrano
As-tu essayé de corriger selon le bout de code que j'ai mis plus haut ? Si oui, il se passe quoi ? As-tu un message d'erreur ? ou autre chose ? Je ne peux pas deviner si tu ne dis rien.
Et en passant, je suis Cyrano, pas "mec" [-X
Posté : 18 sept. 2005, 12:58
par Visiteur
Et si tu veux qu'on puisse répondre, exprime toi en français correct.
Posté : 18 sept. 2005, 20:45
par guismoman33
pour la correction que tu m'a faite sa marche mais trois photos s'affiche niquel!Mais mon include n'est pas pris en compte!!!pourquoi?comme celui ci n'est pas pris en compte mai photo n'ont pas la taille que je leur est donné!
Je voudrai maintenan que m'est photo soit espacé car la il sont collé!Je dois procéder avec un tableau??mais commen faire dans une boucle!!!
Je voudrais un tableau de 3colonne et 6ligne!
Puis j'aimerai mettre un sistème en bas de ma page pour naviguer entre mes page de photo!Mais coment je pourai faire pour qu'il me metre des numero et des liens automatiquements??
merci de me repondre s'il vous plait
Posté : 18 sept. 2005, 21:12
par Cyrano
BOn, une chose à la fois:
Le problème d'espacement entre les photos, c'est du html: dans le code html généré, tu dois faire en sorte que tes images ne soient pas collées: donc tu pourrais ajouter un style CSS par exemple :
<img src="mon_image.jpg" style="margin: 10px" alt="Mon image" />
Maintenant pour le système de tableau avec un nombre déterminé de colonnes et de lignes, c'est la même chose: on est encore dans le html, mais cette fois avec un problème de tableau généré dynamiquement. Là, tu devrais utiliser un système sur la base du modulo : avant que je ne l'explique, dis-moi donc si tu sais de quoi il s'agit (x % y = z).
Enfin, pour le système d'afichage page par page, je te recommande une cisite sur le site de
phpdebutant où tu trouveras un excellent tuto sur le sujet.
Posté : 19 sept. 2005, 19:54
par guismoman33
oki merci pour mettre les écarts entre les photos!sa marche!
pour les tableaux y a pas une autre solution style tou les 3 photos ont met un <br>?je c'est pas!après pourquoi mon include n'est pas pris en compte??
Posté : 20 sept. 2005, 09:38
par Cyrano
Bon, visiblement, les "modulo" ne te disent rien, c'est pourtant la solution pour limiter le nombre par ligne. Exemple : tu récupères des informations sur des images dans une base de données. Pour deux images par ligne, tu feras:
<?php
//... code de récupération des infos dans la base
//~~~~~~
/* On initialise on pointeur */
$l = 0
while($img = mysql_fectch_assoc($requête))
{
/* On affiche l'image */
echo("<img src=\"". $img['adresse_fichier'] ."\" alt="" />");
/* On vérifie le poiteur pour ajouter un retour de ligne toutes les 2 images */
if($l % 2 == 0)
{
echo("<br />");
}
/* On oublie pas d'incrémenter le poiteur */
$l++;
}
//... reste du code
?>
Pour trois images, ce serait sensiblement la même chose. L'expression "$l % 2" signifie en quelque sorte "le reste de la division de $l par 2" Si tu divises n'importe quel nombre par deux, le reste sera toujours 0 ou 1, 50 % 2 = 0, 51 % 2 = 1 52 % 2 = 0, etc..
Posté : 24 sept. 2005, 20:55
par guismoman33
je comprend rien a se que ta fait car moi et la base de donnée sa fait 2.
Posté : 24 sept. 2005, 23:07
par Cyrano
Là, je ne parlais pas de la base de donnée mais de "modulo" et de PHP.
Tu veux répartir tes photos à raison de trois par ligne. Il faut donc mettre un point de repère dans le code qui va permettre de déterminer combien de fois on a fait de tours de boucle avant d'ajouter un retour de ligne <br />, d'accord jusque là ?
Donc l'idée, c'est de créer un pointeur qu'on va incrémenter à chaque tour. Si je reprend le code précédent, ça donne ceci:
<?php
//... code de récupération des infos dans la base
//~~~~~~
/* On initialise on pointeur à 1 */
$l = 1;
while($img = mysql_fectch_assoc($requête))
{
/* On affiche l'image */
echo("<img src=\"". $img['adresse_fichier'] ."\" alt=\"\" />\n");
/* On vérifie le poiteur pour ajouter un retour de ligne toutes les 3 images */
if($l % 3 == 0)
{
echo("<br />\n");
}
/* On oublie pas d'incrémenter le poiteur */
$l++;
}
//... reste du code
?>
Tant qu'il y aura des images à afficher, elles seront ajoutées dans la page et toutes les trois images, il y aura un retour de ligne