<?
$requete; //requete pour récupèrer les infos
$res=mysql_query($requete);
$tab=array();
$cpt=0;
?>
<table>
<tr>
<?
while ($data=mysql_fetch_array($res)) //boucle tant qu'il y a des données dans le résultat
{
?>
<td>
<img ...>
</td>';
<?
$tab[]=$data['Légende_Image'];
$cpt++;
if ($cpt % 4 == 0) // si les 4 colonnes sont construites
{
echo "</tr><tr>";
foreach ($tab as $value) //affichage des légendes
{
echo "<td>".$value."</td>";
}
echo "</tr>";
array_splice ($tab, 0); // remise a zéro du tableau
}
}
?>
</tr>
</table>
parcontre je te donne tous le code (je l'avais sous la main), ne reviens pas avec une erreur de point virgule simple a corriger /*php <?php
//Met les photos
$Pos=$_GET["theme"];
$query = "select * from tblphotos where Index_Theme=$Pos";
$result = mysql_query($query) or die ("Execution de la reqête impossible");
$tab=array();
$cpt=0;
?>
<table border=0 cellpadding=5 cellspacing=0 bordercolor=#FFFFFF align=center>
<tr>
<?
while ($data=mysql_fetch_array($result)) //boucle tant qu'il y a des données dans le résultat
{
?>
<td>
<?
echo "<a href=Photos_Vue.php?Pos={$data['Id']}><img src=Photos/{$data['Ref_Image']} center width=150 height=100>";
?>
</td>
<?
$tab[]=$data['Legende_Image'];
$cpt++;
if ($cpt % 4 == 0) // si les 4 colonnes sont construites
{
echo "</tr><tr>";
foreach ($tab as $value) //affichage des légendes
{
echo "<td>".$value."</td>";
}
echo "</tr>";
array_splice ($tab, 0); // remise a zéro du tableau
}
}
?>
</tr>
</table> [php /php*/][/php]
oui mais j'avais incrémenté le compteur avant le moduloAttention : en utilisant un modulo, il faut démarrer le pointeur à 1 et non à 0 : sinon, tu démarres en testant le reste de 0/4 ce qui va donner 0 et fermer la ligne de façon intempestive. Donc il faut ici initialiser $cpt à 1.
if ($cpt % 4 == 0)
par
if (($cpt % 4 == 0) || (!$data)) <?php
//Met les photos
$Pos=$_GET["theme"];
$query = "select * from tblphotos where Index_Theme=$Pos";
$result = mysql_query($query) or die ("Execution de la reqête impossible");
$tab=array();
$cpt=0;
?>
<table border=0 cellpadding=5 cellspacing=0 bordercolor=#FFFFFF align=center>
<tr>
<?
while ($data=mysql_fetch_array($result)) //boucle tant qu'il y a des données dans le résultat
{
?>
<td>
<?
echo "<a href=Photos_Vue.php?Pos={$data['Id']}><img src=Photos/{$data['Ref_Image']} center width=150 height=100>";
?>
</td>
<?
$tab[]=$data['Legende_Image'];
$cpt++;
if (($cpt % 4 == 0) || (!$data))
{
echo "</tr><tr>";
foreach ($tab as $value) //affichage des légendes
{
echo "<center>";
echo "<td>".$value."</td>";
echo "</center>";
}
echo "</tr>";
array_splice ($tab, 0); // remise a zéro du tableau
}
}
?>
</tr>
</table>
...
$total=mysql_num_rows($result));
while ($data=mysql_fetch_array($result))
{
...// ici le meme code
if (($cpt % 4 == 0) || ($cpt==$total)) // on passe le test si le reste de la division entière de $cpt par 4 est égale à 0 OU si c'est le dernier enregistrement
{
... // ici le meme code
}
}echo "<td>".$value."</td>";
que signifient les points avant et après $value.
ce n'est pas vraiment le point qui est concatèné mais c'est lui qui s'en charge.OK mais avec quoi les points sont concaténés (surtout celui de fin)
$value = "une photo";
echo "<td>".$value."</td>";
le résultat afficher sera alors <td>une photo</td>
ajoute l'attribut align="center" dans la balise <td> correspondante.Une question de béotien : comment centrer toutes les légendes.
les photos 41 à 60indiquer les différentes pages ex 1,2,3 et donc en appuyant sur le 3 voir
Ça marche sans les points, mais ce n,est pas propre comme codage. Si tu remplaces les guillemets par des apostrophes, ça ne marchera plus sans ces points.Pour la concaténation, je ne comprenais pas car je ne voyais pas l'utilité.
Cela marche sans les points !
oui ça fonctionne si tu utilise des guillemets mais pas des apostrophesPour la concaténation, je ne comprenais pas car je ne voyais pas l'utilité.
Cela marche sans les points !
$var="test";
echo "ceci est un $var"; // affichera => ceci est un test
echo 'ceci est un $var'; // affichera => ceci est un $var
//d'ou le faite de provilégier la concaténation
// ici tu aura 2 fois le meme affichage => ceci est un test
echo "ceci est un ".$var;
echo 'ceci est un '.$var;
De plus c'est plus clair et pro ( $sql_photos = "SELECT * FROM tblphotos where Index_Theme=$Pos and LIMIT ". $debut .", ". $nb_photos_par_page .";";
Merci