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>&nbsp;</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>&nbsp;</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>&nbsp;</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