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 :

Aide sur petit script


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Par défaut Aide sur petit script
    Bonjour, ci dessous un petit script sur lequel je voudrai récupérai depuis ma BD les titres et les images. Mes titres s'affiches bien, mais les images arrivent sous formes de codes.
    Dans ma BD mes images sont en BLOB de type mime image/jpeg et transformation image/jpeg:link
    Auriez vous une idée comment je pourrai récupérai les images?
    Merci d'avance. jml.

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Drapeaux</title>
    </head>
     
    <body>
    <?php 
    $db = mysql_connect('127.0.0.1', 'root', '');
    mysql_select_db('bibliotheque drapeaux',$db);
    $sql = "SELECT titre,images FROM b";
    $req = mysql_query($sql) or die ('Erreur dans la requête SQL !<br>'.$sql.'<br>'.mysql_error());
    while($get = mysql_fetch_array($req))
    {
    echo '<b>
    '.$get['titre'].'<br>
    '.$get['images'].'<br><br><br>';
    }
     
    mysql_close();
     
    ?>
    </body>
    </html>

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    il te faut je pense un

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header('Content-type: image/jpg');

  3. #3
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Si les données des images sont bien dans la Bdd, alors il faudrait passer par le biais d'un autre fichier pour afficher les images.

    Un exemple :
    Dans la page HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <!DOCTYPE ... etc ...>
    <html ... etc ...>
     
    ... etc ...
     
    <body>
     
    <img src="image.php?id=un_identifiant_pour_rechercher_limage" />
     
    </body>
    </html>
    Et créer un fichier qui servira de passerelle pour générer le flux de l'image contenu dans le champ BLOB de la Bdd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // Identifiant premettant de recherche l'image correspondante
    $id = $_GET['id'];
     
    $db = mysql_connect('127.0.0.1', 'root', '');
    mysql_select_db('bibliotheque drapeaux',$db);
     
    $sql = 'SELECT images FROM b WHERE id = '.(int)$id;
    $req = mysql_query($sql);
    $get = mysql_fetch_array($req);
     
    echo $get['images'];
    En faite, comme le fichier de l'image n'existe pas, on ne peut pas générer le flux directement dans la page HTML, car une page HTML est un document à part entière, son type c'est justement du HTML, et une image c'est aussi un document à part entière, de type jpg.
    En gros, ça reviendrait à insérer un document dans un document, et ça ce n'est pas possible.

    Le fichier image.php fera office de document de type jpg.

    Enfin, tout ça si j'ai bien compris le problème.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Par défaut
    Merci pour vos réponse, je vais me pencher la dessus demain.
    Encore merci pour vos réponses.
    jml

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Par défaut
    Merci RunCodePhp,
    J'ai crée 2 documents
    le premier: reception images.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    </head>
     
    <body>
    <img src="image.php?id=1" />
     
    </body>
    </html>
    le deuxième : image.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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    </head>
     
    <body>
    <?php 
    // Identifiant premettant de recherche l'image correspondante
    $id = $_GET['1'];
     
    $db = mysql_connect('127.0.0.1', 'root', '');
    mysql_select_db('bibliotheque',$db);
     
    $sql = 'SELECT image FROM drapeaux WHERE id = '.(int)$id;
    $req = mysql_query($sql);
    $get = mysql_fetch_array($req);
     
    echo $get['image'];
     
     
     
    ?>
    </body>
    </html>
    Ça ne marche pas, ca me marque:

    Notice: Undefined index: 1 in G:\jml3dphp\test\image.php on line 11
    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in G:\jml3dphp\test\image.php on line 18

    Peux tu me renseigner ?
    Merci d'avance. jml

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Par défaut
    tant que j'y suis dans les demandes.
    dans ma base de données ma structure pour mes images est en:
    colonne : image
    type : varchar
    taille : 255
    defaut : aucun
    type mime : image/jpeg
    transformation : image/jpeg:inline

    Que dois je changer la dedans?
    Merci.

Discussions similaires

  1. demande d'aide sur un script
    Par threepwood dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 24/05/2007, 11h45
  2. Aide sur un script
    Par odrimont dans le forum Linux
    Réponses: 13
    Dernier message: 03/07/2006, 23h03
  3. [PHP-JS] Besoin d'expertise sur petit script php
    Par Quetzalcoatl dans le forum Langage
    Réponses: 9
    Dernier message: 02/07/2006, 18h34
  4. Besoin d'aide sur un script SQL de recherche
    Par agougeon dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/10/2005, 11h40

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