IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Affichage d'image après requete SQL


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Par défaut Affichage d'image après requete SQL
    Bonsoir,

    J'ai un souci d'image dans un tableau qui s'affiche à l'aide d'une requête. Je croyais avoir trouvé le problème mais en fait non, c'était une fausse joie.

    J'avais changé de content type en passant de jpg en jpeg
    Toutes les images ne s'affichent pas. J'en ai que quelques unes, jamais les mêmes mais ça ne fonctionnent pas.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    <html>
    <head>
    <title>charlesvannet.com/fondecran.html</title>
    <style type="text/css" title="mes_styles" media="all">
    				body 
    				{ 	
    						background-color: black;
    						color: white;				
    						font-family:Verdana, sans-serif, Verdana;
    						font-size: small;
    						letter-spacing: 1px;
    				}
     
    				a:link 
    				{
    						color:#FFFFFF;
    						text-decoration:;
    						background-color:;
    				}
    				a:visited 
    				{
    						color:#666666;
    						text-decoration:;
    						background-color:;
    				}
     
    				.marge 
    				{
    				margin-left: 1170px;
    				}
     
     
    </style>
     
    </head>
    <body bgcolor="#000000">
    <?php
    include('connect.php');
    $query = "SELECT id,miniature FROM pictures";
    $resultat = mysql_query($query);
    $nb_lignes = mysql_num_rows($resultat);
    $nb_colonnes = 3;
    echo $nb_lignes;
     
    echo'<table border="0" cellspacing="5" cellpadding="10" width="100%" bgcolor="#000000">';
    		echo'<tr>';
        		echo'<td align="center" colspan="3"><H3>Personnalisez votre bureau</H3><br /><br /><br /></td>';     
        	echo'</tr>';
     
    echo '<tr>';
    $i = 0;
    while ($row = mysql_fetch_assoc($resultat)) { // Tant qu'il y a une ligne
    	if ($i > 0 && $i%$nb_colonnes == 0) echo '</tr><tr>';
    	echo '<td align="center">';
    	echo '<img src="affiche_photo.php?id='.$row['id'].'" width="180" height="136" border="1">';
    	echo '</td>';
    	$i++;
    }
     
    //si on a affiché qqch on ferme la ligne
    echo '</tr>';
     
    echo'</table>';
    mysql_close($liendb);
     
     
    ?>
     
    </body>
    </html>
    C'est la page principal et voici le code de la page affiche_photo.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
     
    require("connect.php");
    $id=$_GET['id'];
     
    $requete= "SELECT miniature FROM pictures WHERE id = $id";
    $resultat=mysql_query($requete);
     
    if(mysql_num_rows($resultat)==1)
    {
    	$image=mysql_result($resultat,0,"miniature");
     
    	header("Content-type: image/jpeg");  
    	print $image; 
     
    }
     
    mysql_close();
    ?>
    J'ai essayé plusieurs choses et ça ne change rien. Par contre quand je fais http://monsite/php/affiche_photo.php?id=8
    l'image s'affiche bien. Comment résoudre le problème ou à la limite comment utiliser un lien pour aficher toutes les images.

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Quand l'image ne s'affiche pas, est ce que le chemin de la miniature est bon construit ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Par défaut
    Oui parce que quand je regarde le code html généré je vois bien toutes mes images avec le bon id qui se trouve dans la base. De plus quand je fais CTRL F5, ce ne sont pas toujours les mêmes images qui s'affichent.

    Je ne vois vraiment plus le problème.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    a quoi sert le fichier affiche-photo.php ?
    sachant qu'il suffit de remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<img src="affiche_photo.php?id='.$row['id'].'" width="180" height="136" border="1">';
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo '<img alt="" src="'.$row['miniature'].'" width="180" height="136" border="1" />';
     
    ou meme :
    echo '<img alt="" src="'.$row['miniature'].'" width="180" border="1" />'; 
     
    (en laissant height s'adapter librement, dans le cas de photos de tailles differentes)
    A voir aussi : http://j-reaux.developpez.com/tutori...-tableau-html/

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Par défaut
    J'ai essayé et là du coup j'ai des symboles, des trucs illisible sur ma page. J'ai stocké mes photos dans ma base sous forme longblob

    Le fichier affichage_image sert à retranscrire le format. enfin du moins à afficher l'image et pas les symboles. Je sais pas si je suis claire.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ok, je comprends mieux.
    Mais tu risques de rapidement surcharger ta BD.

    Il aurait été préférable d'enregistrer les images dans un dossier, et seulement leur NOMs dans la BD.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] affichage apres requete SQL
    Par domino313131 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/03/2011, 17h44
  2. Affichage De Resulats De Requetes Sql
    Par anonix dans le forum JDBC
    Réponses: 9
    Dernier message: 14/10/2006, 18h04
  3. [Tableaux] affichage tableau php apres requete sql count
    Par heteroclite dans le forum Langage
    Réponses: 1
    Dernier message: 13/09/2006, 20h53
  4. Réponses: 3
    Dernier message: 14/04/2006, 09h32
  5. Problèmes d'espaces après requete SQL
    Par innosang dans le forum Bases de données
    Réponses: 7
    Dernier message: 29/04/2004, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo