MySQL requete / affichage d'images

Schiff -  
burnedsyn Messages postés 174 Statut Membre -
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 174 Statut Membre 16
 
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 Statut Membre
 
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 174 Statut Membre 16
 
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 Statut Membre
 
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 174 Statut Membre 16
 
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 Statut Membre
 
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 174 Statut Membre 16
 
> $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 Statut Membre
 
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 174 Statut Membre 16
 
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