afficher bdd dans tableau

Eléphanteau du PHP | 11 Messages

05 déc. 2006, 21:09

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
Image

ViPHP
ViPHP | 1961 Messages

05 déc. 2006, 21:15

Bonsoir,

Tu peux t'inspirer de ce topic
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 11 Messages

07 déc. 2006, 18:57

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 ?
Image

ViPHP
ViPHP | 1961 Messages

07 déc. 2006, 21:00

Bonsoir,

Sans voir le code, je ne peux rien dire.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 11 Messages

08 déc. 2006, 20:27

<?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
Image

ViPHP
ViPHP | 1961 Messages

08 déc. 2006, 20:44

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. 
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 11 Messages

08 déc. 2006, 21:21

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;
???
Image

ViPHP
ViPHP | 1961 Messages

08 déc. 2006, 21:51

Re,
Remplace cette ligne
$tempimg['chemrel']'\');return false;"> <img src="' .
par
$tempimg['chemrel']. '\');return false;"> <img src="' .
Il manquait un . (point)
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 11 Messages

09 déc. 2006, 01:04

Re,
Merci beaucoup Ajoloca
Sa marche super bien. Exactement se que je voulais.
Problème résolu, et merci encore pour ton aide
Image