Page 1 sur 1

mysql_fetch_array()

Posté : 20 mars 2009, 00:56
par landro
slt !!!
g voudrais créer une bibliothèque d'images dont les fichiers images sont stockés dans un répertoire .
Ces liens vers ces images sont insérés dans une colonne "src" de la table "photos" de ma base de données "landro" Comme l'indique mon code :

<?php
function affiche_accueil()
{
$sql_affiche=mysql_query("select commentaire,src from photos where
				date_publication IS NOT NULL");
$i=4;
for ($j=0;$j<$i;$j++)
{
while($donnees=mysql_fetch_array($sql_affiche))
{
?>
<div class= "photo" align="left">
<p> <a href="index.php"><img src="<?php echo $donnees['src']; ?>" width="100" height="115"/><br/>
  <?php echo $donnees['commentaire']; ?>
 </a><p>
 </div>
 <?php 
 }
 $j++;
}
if ($j==4)
{
echo '<br>';
echo '<br>';
echo '<br>';
	}
	}
?>

question : comment afficher 4 photos par ligne avec le commentaire correspondant ?
nb : mon code affiche une photo par ligne

merci

Re: mysql_fetch_array()

Posté : 20 mars 2009, 09:40
par julian
Comme l'indique mon code :
Peux-tu mettre ce fameux code entre balises php pour qu'il soit humainement lisible :wink: ?

Posté : 20 mars 2009, 13:10
par Ryle
Modération :
landro, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

J'ai édité ton message afin de les ajouter, puisque tu as posté celui-ci en tant qu'invité.

Posté : 20 mars 2009, 13:14
par Kemper
Tu utilises la balise <p> paragraphe qui va à la ligne après chaque photo. Soit tu l'enlèves, soit tu utilises ton compteur $j pour insérer ou non cette balise.

Quand tu génères du HTML dynamiquement, pense à regarder le code source de ta page générée, ça aide ! :)

Posté : 20 mars 2009, 14:20
par Aureusms
Tu utilises la balise <p> paragraphe qui va à la ligne après chaque photo. Soit tu l'enlèves, soit tu utilises ton compteur $j pour insérer ou non cette balise.

Quand tu génères du HTML dynamiquement, pense à regarder le code source de ta page générée, ça aide ! :)
Mwéais :-k |(X Je suis pas trop d'accord : si tu utilises les paragraphe <p> c'est bien ne les enlèves pas. Tu seras plus conform au W3C. Utilise plutôt les CSS avec la propriétés float pour les mettre côte à côte. Ainsi tous les 4 (ce que tu veux) tu mettras un clear:both; pour revenir à la ligne.
?>
<div class= "photo" align="left">
<?php
$i=0;
while($donnees=mysql_fetch_assoc($sql_affiche))
{
echo ($i == 4) ? "<p style='clear:both;'>" : "<p style='float:left;'>";
?>
   <a href="index.php">
   <img src="<?php echo $donnees['src']; ?>" width="100" height="115"/>
   <br />
   <?php echo $donnees['commentaire']; ?>
   </a>
</p>
 <?php  
 $j++;
 if ($i == 4) $i=0;
}
?>
</div>

Posté : 20 mars 2009, 14:40
par Kemper
Effectivement c'est bien de les garder donc il peut utiliser l'autre solution que j'ai suggérée : n'insérer la balise <p> que toutes les 4 images, donc déplacer le compteur. Ou gérer ça par CSS :)