MySQL requete / affichage d'images
Schiff
-
burnedsyn Messages postés 174 Statut Membre -
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.
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:
- MySQL requete / affichage d'images
- Affichage double ecran - Guide
- Des images - Guide
- Windows 11 affichage classique - Guide
- Mysql community download - Télécharger - Bases de données
- Problème affichage fenêtre windows 10 - Guide
9 réponses
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
$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
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.
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.
essayes ce code pour te convaincre que cela dois fonctionner :
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
<?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
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>
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>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
Oui, j'avais pas fait de copier / coller. J'avais taper les commandes a executer et j'ai verifier plusieurs fois.
> $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;
>
>
> $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;
>
>