MySQL requete / affichage d'images

Fermé
Schiff - 2 nov. 2007 à 15:09
burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009 - 2 nov. 2007 à 17:47
Bonjour,
j'ai créée un site internet pour montrer les quelques trucs que je fais sous photoshop.
J'utilise mySQL et le PHP pour faire le site.

J'utilise une requete mySQL pour selectionner et afficher les images.
Exemple pour les avatars:
$req = "SELECT * FROM avatars order by nom asc";
(...)
echo '<tr><td align=center><img src="./Avatars/'.$donnee['url'].'" alt="'.$donnee['nom'].'" title="'.$donnee['nom'].'" border=0 ></td><td> </td></tr>';

Probleme est que j'aimerais afficher 2 images par ligne (<tr>) au lieu d'une seule.
Exemple:
<tr><td> image 1 </td><td> image 2 </td></tr>
<tr><td> image 3 </td><td> image 4 </td></tr>

Je vois pas comment faire. Mettre le meme code dans l'autre <td> ne ferait qu'afficher la meme image deux fois.
Merci d'avance.
A voir également:

9 réponses

burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009 16
2 nov. 2007 à 16:13
un code du style peut t'y aider je ne sais pas si c'est la meilleur manière de proceder mais je n'ai jamais eu de soucis avec cette manière de voir les choses.

$req = "SELECT * FROM avatars order by nom asc";
$a=0;
$res=mysql_query($req);
//declaration de ta tablehtml

while (mysql_fetch_array($res))
{
if($a>1) $a=0;
switch($a)
{
case '0':
echo '<tr><td align=center><img src="./Avatars/'.$donnee['url'].'" alt="'.$donnee['nom'].'" title="'.$donnee['nom'].'" border=0 ></td>';
$a++;
break;
case '1' :
echo 'td a>lign=center><img src="./Avatars/'.$donnee['url'].'" alt="'.$donnee['nom'].'" title="'.$donnee['nom'].'" border=0 ></td></tr>';
$a++;
break;
}//fin case
}//fin while
//fermeture de la tablehtml
0
Dhomochevski Messages postés 4 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 2 novembre 2007
2 nov. 2007 à 16:48
Ca ne marche pas.
J'ai essayé, j'ai fai des echo $a pour verifier sa valeur et ca retournait $a=1 pour case 0, $a=2 pour case 1.
J'ai donc essayé en rajoutant un case 2, mais ca n'a pas marché.

Ca ne changeait rien a l'affichage actuel des avatars.

L'url de la page est http://myperso.net/index.php?page=avatars

Merci.

PS: Schiff c'etait moi, j'avais pas encore enregistré de compte.
0
burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009 16
2 nov. 2007 à 16:59
essayes ce code pour te convaincre que cela dois fonctionner :
<?php
$a=0;
for($i=0;$i<100;$i++)
{
    if($a>1)$a=0;
  switch($a)
  {
    case '0':
        echo("ici à $a <br>");
        $a++;
        break;
    case '1':
        echo("ici a $a <br>");
        $a++;
        break;
  }
}

?>


met ton code ici stp car sans cela je ne vois pas bien comment t'aider aussi ;)
il est normal qu'il t'affiche 1 et 2 si tu as placé ton echo après que l'instruction $a++; ai été effectuée

si tu veux je suis sur msn en ce moment magicbizness@hotmail.com
0
Dhomochevski Messages postés 4 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 2 novembre 2007
2 nov. 2007 à 17:01
Non j'avais placé le $a++ en fin du case.

Voici le code de la page avatars:

<div class="style">
<?
include(******);

if(isset($_GET['limite'])){
$limite=$_GET['limite'];
}
else{
$limite=0;
}

// Nombre de signatures afficher par page
$nombre = 5;

$req = "SELECT * FROM avatars order by nom asc";
$res = mysql_query($req);
$total = mysql_num_rows($res);


// On calcul les limite pour les liens suivant et precedents
$limiteSuivante = $limite + $nombre;
$limitePrecedente = $limite - $nombre;

echo '<table>';

$req = "SELECT * FROM avatars order by nom asc limit ".$limite.",".$nombre;
$res = mysql_query($req);


while ( $donnee = mysql_fetch_assoc($res) ){
echo '<tr><td align=center><img src="./Avatars/'.$donnee['url'].'" alt="'.$donnee['nom'].'" title="'.$donnee['nom'].'" border=0 ></td><td> </td></tr>';
echo '<tr><td colspan=2> </td></tr>';
echo '<tr><td colspan=2><hr></td></tr>';
echo '<tr><td colspan=2> </td></tr>';
}

echo '<tr><td colspan="2" align=right>Page ';

$nb_page = $total/$nombre;


$i = 0;

for( $i = 0 ; $i < $nb_page; $i++ ){
if( (($i*$nombre) == $limite) ) echo ($i+1).' ';
else echo '<a href="index.php?page=avatars&limite='.$i*$nombre.'">'.($i+1).'</a> ';
}

echo '</td></tr>';
echo '</table>';
?>
</div>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009 16
2 nov. 2007 à 17:02
aussi je viens de remarquer as tu corriger dans le case '1'

echo 'td a>lign=center><img src="./Avatars/'.$donnee['url'].'" alt="'.$donnee['nom'].'" title="'.$donnee['nom'].'" border=0 ></td></tr>';

regarde juste après echo il manque < après l'apostrophe.
0
Dhomochevski Messages postés 4 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 2 novembre 2007
2 nov. 2007 à 17:03
Oui, j'avais pas fait de copier / coller. J'avais taper les commandes a executer et j'ai verifier plusieurs fois.
0
burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009 16
2 nov. 2007 à 17:21
> $req = "SELECT * FROM avatars order by nom asc limit ".$limite.",".$nombre;
> $res = mysql_query($req);
>
>

/*ici ajoute */

$a=0;
while ( $donnee = mysql_fetch_assoc($res) ){

//aussi si je peux te donner un conseil tes echo fais les comme ceci...



if ($a>1) $a=0;



switch($a)

{

case '0':

echo ("<tr><td align=\"center\"><img src=\"./Avatars/".$donnee['url']."\" alt=\"".$donnee['nom']."\" title=\"".$donnee['nom']."\" border=\"0\"></td>");

//si tu veux echo ($a);

$a++;

break;

case '1':

echo ("<td align=\"center\"><img src=\"./Avatars/".$donnee['url']."\" alt=\"".$donnee['nom']."\" title=\"".$donnee['nom']."\" border=\"0\"></td></tr>");

//si tu veux echo ($a);

$a++;

break;



}

/*

encien code
echo '<tr><td align=center><img src="./Avatars/'.$donnee['url'].'" alt="'.$donnee['nom'].'" title="'.$donnee['nom'].'" border=0></td><td> </td></tr>';
echo '<tr><td colspan=2> </td></tr>';
echo '<tr><td colspan=2><hr></td></tr>';
echo '<tr><td colspan=2> </td></tr>';
*/

}
>
>
> echo '<tr><td colspan="2" align=right>Page ';
>
>
> $nb_page = $total/$nombre;
>
>
0
Dhomochevski Messages postés 4 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 2 novembre 2007
2 nov. 2007 à 17:45
Ok en fait ca marche, il semble y avoir un probleme avec le

echo '<tr><td colspan=2> </td></tr>';
echo '<tr><td colspan=2><hr></td></tr>';
echo '<tr><td colspan=2> </td></tr>';


Vais essayer de trouver ce que c'est.

Merci pour l'aide.
0
burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009 16
2 nov. 2007 à 17:47
essayes echo("<tr colspan=\"2\"><td> </td></tr>

et de rien si jamais tu as encore des question n'hésite pas tu as mon mail plus haut
0