Page 1 sur 1
Région répétée en plusieurs colonnes
Posté : 15 juin 2005, 16:41
par pixfacto
Bonjour,
Je souhaiterais obtenir un résultat d'une requète dans un tableau de 4 colonnes et 3 lignes.
Avec le code ci-dessous, je parviens à récupérer les résultats en 2 colonnes, sans limiter le nombre de ligne.
Il s'agit d'un morceau de code que j'ai récupéré d'une autre application.
<table>
<?php $i=0; do {
if($i==0) {
echo "<tr><td>"; $i=1;}
else {
echo "<td>"; $i=0;}
echo $row_result['id_photo']; ?></td>
<?php if($i==0) {echo '</tr>';} }
while ($row_result = mysql_fetch_assoc($result)); ?>
</table>
Pouvez-vous m'éclairer?
Pierre
Posté : 15 juin 2005, 16:58
par Cyrano
Pour générer un tableau de trois lignes de 4 colonnnes, voici le schéma :
<?php
/* On ouvre la balise table */
?>
<table>
<?php
for($j = 0; $j < 3; $j++)
{
/* On crée une ligne */
?>
<tr>
<?php
for($k = 0; $k < 4; $k++)
{
/* Début de la colonne */
?>
<td></td>
<?php
/* Fin de la colonne */
}
?>
</tr>
<?php
/* Fin de la ligne */
}
?>
</table>
Posté : 15 juin 2005, 17:08
par pixfacto
Ok, mais je mets où la valeur que je souhaite affiche.
En l'occurence ici c'est id_photo.
c'est ça que je dois intégrer?
echo $row_result['id_photo'];
Merci[/php]
Posté : 15 juin 2005, 17:17
par Cyrano
Essaye avec ça:
<?php
$id_photos = array();
while ($row_result = mysql_fetch_assoc($result))
{
array_push($id_photos, $row_result['id_photo']);
}
$i = 0;
$nb = count($id_photos);
/* On ouvre la balise table */
?>
<table>
<?php
for($j = 0; $j < 3; $j++)
{
/* On crée une ligne */
?>
<tr>
<?php
for($k = 0; $k < 4; $k++)
{
if($i < $nb)
{
/* Début de la colonne */
?>
<td><?php echo($id_photos[$i]);?></td>
<?php
$i++;
/* Fin de la colonne */
}
else
if($i < $nb)
{
/* Début de la colonne */
?>
<td> </td>
<?php
/* Fin de la colonne */
}
}
?>
</tr>
<?php
/* Fin de la ligne */
}
?>
</table>
Posté : 15 juin 2005, 18:11
par pixfacto
Puissant! ca fonctionne.
Maintenant, je souhaite joindre l'image avec.
J'ai ajouter une ligne pour aller chercher le fichier photo. mais la photo n'apparaît. Or j'ai respecté l'arborescence.
Où ais-je fais une erreur.
<?php
$id_photos = array();
while ($row_result = mysql_fetch_assoc($result))
{
array_push($id_photos, $row_result['id_photo']);
}
$i = 0;
$nb = count($id_photos);
/* On ouvre la balise table */
?>
<table>
<?php
for($j = 0; $j < 3; $j++)
{
/* On crée une ligne */
?>
<tr>
<?php
for($k = 0; $k < 4; $k++)
{
if($i < $nb)
{
/* Début de la colonne */
?>
<td><?php echo($id_photos[$i]);?>
<?php /* Ajout de la photo */?>
<img src="../img/up/<?php echo $row_result['photo']; ?>" />
</td>
<?php
$i++;
/* Fin de la colonne */
}
else
if($i < $nb)
{
/* Début de la colonne */
?>
<td> </td>
<?php
/* Fin de la colonne */
}
}
?>
</tr>
<?php
/* Fin de la ligne */
}
?>
</table>
Posté : 15 juin 2005, 18:57
par Cyrano
Même principe que pour l'identifiant:
<?php
$id_photos = array();
$photos = array();
while ($row_result = mysql_fetch_assoc($result))
{
array_push($id_photos, $row_result['id_photo']);
array_push($photos, $row_result['photo']);
}
$i = 0;
$nb = count($id_photos);
/* On ouvre la balise table */
?>
<table>
<?php
for($j = 0; $j < 3; $j++)
{
/* On crée une ligne */
?>
<tr>
<?php
for($k = 0; $k < 4; $k++)
{
if($i < $nb)
{
/* Début de la colonne */
?>
<td><?php echo($id_photos[$i]);?>
<?php /* Ajout de la photo */?>
<img src="../img/up/<?php echo $photo[$i]; ?>" />
</td>
<?php
$i++;
/* Fin de la colonne */
}
else
if($i < $nb)
{
/* Début de la colonne */
?>
<td> </td>
<?php
/* Fin de la colonne */
}
}
?>
</tr>
<?php
/* Fin de la ligne */
}
?>
</table>
Posté : 16 juin 2005, 15:13
par Invité
Le problème reste le même avec mes img.
Un carré avec une croix s'affiche. Le chemin n'est pas valide.
Où dois-je indiquer le chemin vers lequel se trouve mes img.
Le chemin devrait être :
../img/up/
Merci
Pierre
Posté : 16 juin 2005, 15:17
par sausee2005
<img src="../img/up/<?php echo $row_result['photo']; ?>" >
ou
<img src="img/up/<?php echo $row_result['photo']; ?>" >
et comme ça