Page 1 sur 1

afficher bdd dans tableau

Posté : 05 déc. 2006, 21:09
par Mimos@
Bonjour,
J'ai fais une galerie d'image. Maintenant je souhaiterais afficher les images. A l'upload d'une image, j'enregistre l'url de la miniature, l'url de l'image original
et le titre.
Mon problème est que sa m'affiche tout sur une ligne, or je voudrais afficher sur 5 colonnes et autant de ligne qu'il faut.
voici mon code :
<?php
$host = 'xxx';
$user = 'xxx';
$pass = 'xxx';
$db = 'test';
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = 'SELECT id, chemrel,name,chemmini FROM test';
$result = mysql_query($select,$connect) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total)
{
    // debut du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";
    while($tempimg = mysql_fetch_array($result))
    {
        echo '<tr>';
            for($i=0; $i<4; $i++)
            {
                ?>     
        <td bgcolor="#CCCCCC"><a href="<?php echo $tempimg['chemrel'];?>" onclick="window.open('<?php echo $tempimg['chemrel'];?>');return false;"> <img src="<?php echo $tempimg['chemmini'];?>" alt="<?php echo $temping['name'];?>"/></td>;
                <?
           }
        echo '</tr>'."\n";
   }
    echo '</table>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
mysql_close();
?> 
Merci d'avance pour votre aide

Posté : 05 déc. 2006, 21:15
par Ajoloca
Bonsoir,

Tu peux t'inspirer de ce topic

Posté : 07 déc. 2006, 18:57
par Mimos@
Et bien sa ne m'inspire pas beaucoup ^^
Il teste a chaque fois les lettres pour les organiser par ordre alphabétique.
Moi je veux simplement afficher les images dans le tableau.
j'arrive en se moment a faire ceci

image1 image1 image1 image1 image1
image2 image2 image2 image2 image2
image3 image3 image3 image3 image3

Pourquoi ?

Posté : 07 déc. 2006, 21:00
par Ajoloca
Bonsoir,

Sans voir le code, je ne peux rien dire.

Posté : 08 déc. 2006, 20:27
par Mimos@
<?php
$host = '';
$user = '';
$pass = '';
$db = 'test';
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = 'SELECT id, chemrel,name,chemmini FROM test';
$result = mysql_query($select,$connect) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total)
{
    // debut du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
    while($tempimg = mysql_fetch_array($result))
	{
        echo '<tr>';
		for($i=0; $i<4; $i++)
	    {
		?>	
        <td bgcolor="#CCCCCC"><a href="<?php echo $tempimg['chemrel'];?>" onclick="window.open('<?php echo $tempimg['chemrel'];?>');return false;"> <img src="<?php echo $tempimg['chemmini'];?>" alt="<?php echo $temping['name'];?>"/></td>;
		<?
		}
        echo '</tr>'."\n";
	}
    echo '</table>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
mysql_close();
?>
et j'obtiens ceci :

Image

Posté : 08 déc. 2006, 20:44
par Ajoloca
Bonsoir,

C'est normal, tu lui demandes d'afficher la même image 4 fois dans la même ligne.
Essaie ceci.
// debut du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
echo '<tr>';
$cols = 0;
while($tempimg = mysql_fetch_array($result)){
  if ($cols % 4 == 0 && $cols != 0) echo '</tr><tr>';
  
  echo '<td bgcolor="#CCCCCC"><a href="' . 
  $tempimg['chemrel'] . '" onclick="window.open(\''. 
  $tempimg['chemrel']'\');return false;"> <img src="' . 
  $tempimg['chemmini'].'" alt="' . $temping['name'] . '"/></td>';
  $cols++;     
}
echo '</tr></table>'."\n"; 
// fin du tableau. 

Posté : 08 déc. 2006, 21:21
par Mimos@
Non sa ne marche pas !!!

Code : Tout sélectionner

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /mnt/112/free.fr/b/c/snshinobi/affiche.php on line 24
Peut etre a cause du onclick="window.open();return false;
???

Posté : 08 déc. 2006, 21:51
par Ajoloca
Re,
Remplace cette ligne
$tempimg['chemrel']'\');return false;"> <img src="' .
par
$tempimg['chemrel']. '\');return false;"> <img src="' .
Il manquait un . (point)

Posté : 09 déc. 2006, 01:04
par Mimos@
Re,
Merci beaucoup Ajoloca
Sa marche super bien. Exactement se que je voulais.
Problème résolu, et merci encore pour ton aide