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 :

Image issue d'une requête SQL ne s'affichent pas toutes


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut Image issue d'une requête SQL ne s'affichent pas toutes
    Bonjour,

    J'ai réalisé une page php qui fait appel à ma base pour afficher des images miniatures dans un tableau.
    Mes photos miniatures sont affichées à l'aide d'une requete sql.
    J'ai un problème..
    Toutes mes images ne s'affichent pas. Quand je fais CTRL F5 j'en ai toujours que 3 qui s'affiche mais pas toujours les mêmes.
    Mes images sont dans ma base avec le type BLOB et elles pèsent au plus lourd 76,9 Ko.

    Quelqu'un peut me dire pourquoi elles ne s'affichent pas toutes?

    Je vous joins le code. J'ai 3 scripts, 1 script connect.php avec mes infos, 1 script affiche_photo.php et un script fondecran.php

    Voici les 3 codes :

    connect.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    // Parametres base MySQL
    $host = "sql.free.fr"; 
    $user = "monlogin"; 
    $pass = "mon password";
    $database = "ma base"; 
     
    // connexion a la base MySQL
    $liendb = mysql_connect($host,$user,$pass) or die ("impossible de se connecter au serveur");
    @mysql_select_db("$database") or die("Impossible de se connecter à la base");
    // -------------------------------------------------------
    ?>
    fondecran.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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <?php
    include('connect.php');
    $query = "SELECT id,miniature FROM pictures";
    $resultat = mysql_query($query);
    $nb_lignes = mysql_num_rows($resultat);
    $nb_colonnes = 3;
     
    echo'<table border="0" cellspacing="3" cellpadding="5" width="100%" bgcolor="yellow">';
    		echo'<tr>';
        		echo'<td align="center" colspan="3"><h3>Personnalisez votre bureau</H3><br><br /><br /></td>';     
        	echo'</tr>';
    for($i=0;$i<$nb_lignes; $i++)
    {
     
    	if($i==0)
    		echo'<tr>';
     
    	if($i!=0 && $i%$nb_colonnes==0)
    		echo '</tr><tr>';
     
    		$id=mysql_result($resultat,$i,"id");
    		//echo '<img src="affiche_photo.php?id=$id" width="180" height="136">';
    		echo "<img src=\"affiche_photo.php?id=$id\" width=\"180\" height=\"136\">";
     
        echo'</td>';
     
    }
     
    if($nb_lignes!=0)
    	echo '</tr>';
    echo'</table>';
    mysql_close($liendb);
     
     
    ?>
    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 LIKE '$id'";
    $resultat=mysql_query($requete);
     
    if(mysql_num_rows($resultat)==1)
    {
    	$image=mysql_result($resultat,0,"miniature");
     
    	header("Content-type: image/jpg");  
    	print $image; 
     
    }
     
    mysql_close();
    ?>

    Merci d'avance

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    As-tu débuggé en regardant la valeur de chaque variable comme $nb_lignes...

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Non pas du tout..
    Je peux faire ça comment?

    En fait chaque image s'affiche enfin je m'explique la première fois c'est celle de la ligne du haut enfin c'est 3 autres images..jamais les mêmes y'en a que une qui s'affiche jamais

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    la première fois c'est celle de la ligne du haut enfin c'est 3 autres images..jamais les mêmes y'en a que une qui s'affiche jamais
    Si c'est clair pour toi ça ne l'est pas pour moi...c'est contagieux ce soir

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Désolé je réexplique

    Déjà j'ai 3images par ligne..ca peut aidé à comprendre
    Alors la première fois je lance ma page ... Là j'ai 3 images qui s'affichent... 3 images à la première ligne. Là je fais F5 et cette fois c'est une de la première ligne et 2 de la deuxième ligne qui s'affiche..


    C'est plus clair ?

    C'est jamais les mêmes.. Ca peut venir de la taille des images dans la base?
    J'ai utilisé le type LONGBLOB

  6. #6
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Là j'ai compris, mais alors c'est super bizarre, regarde le code HTML généré à chaque fois et compare le, pour comprendre ce qui se passe.

  7. #7
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    J'ai essayé de mettre des images moins lourde dans la bdd et ca ne change rien. Je ne comprends vraiment pas. Si j'essaye d'afficher l'id à la place de l'image ça fonctionne bien.

    Personne n'a de solution?

  8. #8
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Tu ne lis pas ce que je dis ?
    Si je te dis de regarder le code source interprété c'est pour comprendre ce qui se passe...

  9. #9
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Si si j'ai bien regardé et il me sort bien tout les id de ma base.
    Par contre sur IE elles s'affichent toutes alors que sous firefox non
    ET sous firefox quand je fais clique droit sur l'image, charger l'image et bien hop elle s'affiche

    Mais c'est franchement pas la solution.

    Voilà le code que je récupère après que la page affiche quelques images (3)

    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
    <table border="0" cellspacing="5" cellpadding="10" width="100%" bgcolor="#000000">
    <tr>
    <td align="center" colspan="3"><h3>Personnalisez votre bureau</H3><br><br /><br /></td>
    </tr>
    <tr>
    <td align="center"><img src="affiche_photo.php?id=1" width="180" height="136" border="1"></td>
    <td align="center"><img src="affiche_photo.php?id=2" width="180" height="136" border="1"></td>
    <td align="center"><img src="affiche_photo.php?id=3" width="180" height="136" border="1"></td>
    </tr>
    <tr>
    <td align="center"><img src="affiche_photo.php?id=4" width="180" height="136" border="1"></td>
    <td align="center"><img src="affiche_photo.php?id=5" width="180" height="136" border="1"></td>
    <td align="center"><img src="affiche_photo.php?id=6" width="180" height="136" border="1"></td>
    </tr>
    <tr>
    <td align="center"><img src="affiche_photo.php?id=7" width="180" height="136" border="1"></td>
    <td align="center"><img src="affiche_photo.php?id=8" width="180" height="136" border="1"></td>
    </tr>
    </table>
    Merci

  10. #10
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Tu as pas mal de problème avec les balises, corrigent les et tu verras après...

  11. #11
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Justement, je vois pas ce qui ne marche pas.
    Quels seraient les éléments qui posent problème?
    Je veux juste que l'on m'éclaire sur ce qui pourrait être corrigé.

    Merci

  12. #12
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    balise h3, br, img, etc...

  13. #13
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Alors concernant le H3 je les ai corrigé et je les ai mis pareil pour la fermeture et l'ouverture, à savoir <H3> et </H3>
    les balises br ont également été corrigées
    Par contre pour la balise <img > je ne comprends pas car c'est à l'aide d'une boucle que l'affichage est géré.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    for($i=0;$i<$nb_lignes; $i++)
    {
    	if($i==0)
    		echo'<tr>';
    	if($i!=0 && $i%$nb_colonnes==0)
    		echo '</tr><tr>';
     
    	//echo'<td>' .mysql_result($resultat,$i,"id") . '</td>
    	echo'<td align="center">';
    		$id=mysql_result($resultat,$i,"id");
    		echo "<img src=\"affiche_photo.php?id=$id\" width=\"180\" height=\"136\" border=\"1\">";
     
        echo'</td>';
    }
    J'avais essayé sans mettre les \ mais rien ne s'affichait.

  14. #14
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <img src="" alt="" />
    <br />

  15. #15
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    mouais... pour ce qui est des balises, ce ne sont pas des erreurs qui empêcheraient l'affichage d'images...

    Par contre, es-tu certain que toutes tes images soient des .jpg ?

  16. #16
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Bien sûr que si ça peut empêcher le fonctionnement normal en fonction des navigateurs et elle obtient des résultats incohérents, c'est bien la preuve que quelque chose ne tourne pas rond.

  17. #17
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Alors mes images sont bien toutes en .jpg
    Par contre si ça concerne les balises, je veux bien que l'on me mette sur le chemin parce que je ne vois vraiment pas quoi corrigé.

    Merci

  18. #18
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Passe ta page au validateur

  19. #19
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Ça ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sorry, this type of URL  scheme  ("") is not supported by this service. Please check that you entered the URL correctly.
     
    URLs should be in the form: http://validator.w3.org/
     
    If you entered a valid URL using a scheme that we should support, please let us know as outlined on our Feedback page. Make sure to include the specific URL you would like us to support, and if possible provide a reference to the relevant standards document describing the URL scheme in question.
     
    Remember that you can always save the page to disk and Validate it using the File Upload interface.
    Donc je peux faire quoi?

  20. #20
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    J'ai changé mon code .. ça ne fonctionne toujours pas
    Voici le nouveau code
    fondecran.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
    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; //m'affiche bien 8 qui correspond au nombre d'images
     à m'afficher
    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>
    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/jpg");  
    	print $image; 
     
    }
     
    mysql_close();
    ?>
    Alors j'ai toujours le même problème par contre quand je fais http://monsite/php/affiche_photo.php?id=1 les images s'affichent bien

    Les images sont stockés en longblob sur la base
    Ne faut-il pas extraire toutes les images de la base avant de l'afficher?

    Si oui, comment faire? Le content type du fichier affiche_photo.php est-il juste en mettant header("Content-type: image/jpg"); ??


    Merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AC-97] Une requête étrange qui n'affiche pas toutes les entrées
    Par ZoliveR dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/11/2010, 11h58
  2. [MySQL] Les données issues d'une requête SQL sont erronées
    Par edenreal dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 21/08/2009, 00h41
  3. Insérer une image issue d'une bdd sql
    Par Colieri dans le forum Bases de données
    Réponses: 10
    Dernier message: 26/08/2007, 13h29
  4. [SQL] Choix dans une liste déroulante issue d'une requête SQL
    Par Moustic74 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/06/2007, 14h06
  5. Afficher une image issue d'une requête SQL
    Par aygitci dans le forum Langage
    Réponses: 1
    Dernier message: 14/03/2007, 09h12

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