Afficher des images selon des boucles

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 : Afficher des images selon des boucles

par ouckileou » 19 avr. 2005, 22:24

il faut que tu mettes ton mysql_fetch_assoc dans une boucle

essaye ça :
<?php
<require_once('../Connections/ConnEcha.php');

if (isset($_GET['pageNum_ImgGal'])) {
	$pageNum_ImgGal = $_GET['pageNum_ImgGal'];
}
$startRow_ImgGal = $pageNum_ImgGal * $maxRows_ImgGal;

$colname_ImgGal = "1";
if (isset($_GET['TitGal'])) {
$colname_ImgGal = (get_magic_quotes_gpc()) ? $_GET['TitGal'] : addslashes($_GET['TitGal']);
}
mysql_select_db($database_ConnEcha, $ConnEcha);
$query_ImgGal = sprintf("SELECT * FROM galerie WHERE TitGal = '%s'", $colname_ImgGal);
$query_limit_ImgGal = sprintf("%s LIMIT %d, %d", $query_ImgGal, $startRow_ImgGal, $maxRows_ImgGal);
$ImgGal = mysql_query($query_limit_ImgGal, $ConnEcha) or die(mysql_error());

$i = 1;
while ($row_ImgGal = mysql_fetch_assoc($ImgGal)) {
	echo (($i % $nb_col-1) == 0)?"</tr><tr>":"";
	echo "<td><IMG src=\"".$row_ImgGal['NomPhoto']."\" width=80 height=60 border=0></td>";
	$i++;
}
?>

par caro » 19 avr. 2005, 20:36

En bidouillant un peu, les images s'affichent. mais c'est toujours la meme qui est affichée :(
Je dois pas etre bien loin

par caro » 19 avr. 2005, 20:18

Voici un peu plus de code
[php]
<?php require_once('../Connections/ConnEcha.php'); ?>
<?php
if (isset($_GET['pageNum_ImgGal'])) {
$pageNum_ImgGal = $_GET['pageNum_ImgGal'];
}
$startRow_ImgGal = $pageNum_ImgGal * $maxRows_ImgGal;

$colname_ImgGal = "1";
if (isset($_GET['TitGal'])) {
$colname_ImgGal = (get_magic_quotes_gpc()) ? $_GET['TitGal'] : addslashes($_GET['TitGal']);
}
mysql_select_db($database_ConnEcha, $ConnEcha);
$query_ImgGal = sprintf("SELECT * FROM galerie WHERE TitGal = '%s'", $colname_ImgGal);
$query_limit_ImgGal = sprintf("%s LIMIT %d, %d", $query_ImgGal, $startRow_ImgGal, $maxRows_ImgGal);
$ImgGal = mysql_query($query_limit_ImgGal, $ConnEcha) or die(mysql_error());
$row_ImgGal = mysql_fetch_assoc($ImgGal);

?>[/php]

Puis apres c'est le meme code que + haut.

par ouckileou » 18 avr. 2005, 23:24

le fait est que le problème n'est pas d'afficher un tableau de 3*5 images mais bien d'afficher une image tout court...

et si je regarde ton source, le nom du fichier image n'est pas affiché

si ta variable $row_ImgGal['NomPhoto'] vient d'une boucle mysql_fetch_array(), à mon avis c'est normal qu'elle ne soit plus attribuée ensuite

enfin poste un peu plus de code pour voir :)

par caro » 18 avr. 2005, 23:21

Ma variable n'est pas vide. les photos au-dessus du tableau vienne de la meme variable.
J'ai repris le bout de code que tu as mis et le pb reste le meme

par ouckileou » 18 avr. 2005, 23:07

ok, c'est simplement qu'il n'y a aucun nom d'image de spécifié

voici le source HTML généré :

Code : Tout sélectionner

<td><IMG src=../images/galerie/ width=80 height=60 border=0></td>
il y a un problème avec
echo $row_ImgGal['NomPhoto'];
cette variable est vide... :)
vérifie qu'elle est bien renseignée (j'imagine que tu la récupères d'une base de données) et essaye de l'afficher comme ça ensuite :

        <?php
        for ($i = 1; $i <= $nb_photos; $i++) {
            echo (($i % $nb_col-1) == 0)?"</tr><tr>":"";
            echo "<td><IMG src=\"".$row_ImgGal['NomPhoto']."\" width=80 height=60 border=0></td>";
        }
        ?>

par Gentoo Warrior » 18 avr. 2005, 23:06

src="" <- avec des guillemets
echo "<td><IMG src=\"../images/galerie/";
echo $row_ImgGal['NomPhoto'];
echo "\" width=80 height=60 border=0></td>";

par caro » 18 avr. 2005, 23:04

mon problème est que l'image ne s'affiche pas.
J'ai bien la place pour l'image (encadré avec petite croix rouge en haut à gauche)
Voici le lien
[url]http://www.echaillon.com/php/galerie.ph ... ue%20Terre[/url]

par ouckileou » 18 avr. 2005, 23:00

peux-tu préciser ce qui te pose problème ?

avec ce code j'ai bien 3 lignes de 5 images :
<?php
$nb_photos=15;
$nb_col=5;
$nb_lignes=$nb_photos/$nb_col;
?>
<table border="1">
    <tr>
        <?php
        for ($i = 1; $i <= $nb_photos; $i++) {
            echo (($i % $nb_col-1) == 0)?"</tr><tr>":"";
            echo "<td><IMG src=benderdance2.gif";
            //echo $row_ImgGal['NomPhoto'];
            echo " width=80 height=60 border=0></td>";
        }
        ?>
    </tr>
</table>

par caro » 18 avr. 2005, 22:56

C'est moi Caro qui vient d'écrire le message. Je n'ai pas vu que je n'étais pas connecté

par Invité » 18 avr. 2005, 22:54

Bonsoir,

J'avais le meme problème que "Invité".
J'ai donc copier le bout de code donné par ouckileou.

mon problème maintenant est dans l'affichage de l'image

mon code est le suivant
<?php 
$nb_photos=15; 
$nb_col=5; 
$nb_lignes=$nb_photos/$nb_col; 
?>
<table border="1"> 
    <tr> 
        <?php 
        for ($i = 1; $i <= $nb_photos; $i++) { 
            echo (($i % $nb_col-1) == 0)?"</tr><tr>":""; 
            echo "<td><IMG src=../images/galerie/";
            echo $row_ImgGal['NomPhoto'];
            echo " width=80 height=60 border=0></td>"; 
        } 
        ?> 
    </tr> 
</table> 
J'ai décomposé volontairement l'affichage pour essayer de trouver le problème, mais rien n'a été résolu.

Si quelqu'un peut m'aider ce serait cool.
Merci bcp

par Invité » 18 avr. 2005, 15:20

ok merci beaucoup :) Je vais essayer tout ça ;)

par ouckileou » 17 avr. 2005, 21:54

il faut alors se baser sur la même variable :
<table border="1">
	<tr>
		<?php
		for ($i = 1; $i <= $nb_photos; $i++) {
			echo (($i % $nb_col-1) == 0)?"</tr><tr>":"";
				echo '<td>'.$i.'</td>';
		}
		?>
	</tr>
</table>

par Invité » 17 avr. 2005, 21:38

Nan du tout, ce que je voudrais c'est :
1 2 3 4 5
6 7 8 9 10
11 12 13 14

par ouckileou » 17 avr. 2005, 21:14

qu'est-ce qui ne marche pas ?

ton script donne ça :
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
ce n'est pas le schéma que tu souhaites ?