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

PHP & Base de données Discussion :

afficher une image contenue dans un blob avec d'autres infos [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 15
    Points
    15
    Par défaut afficher une image contenue dans un blob avec d'autres infos
    salut,je suis entrain de réaliser un petit catalogue de produits
    voilà le formulaire pour entrer les données produits
    Code HTML : 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
    <form enctype="multipart/form-data" method="post" action="addarticle.php">
       <fieldset>
       <legend>Informations sur l'article</legend>
       <label>Nom de l'article: <input type="text" name="nom" /></label><br><br>
     
    <label>Taille(ou version): <input type="text" name="taille" /></label><br><br>
    <label>Catégorie <select name="categorie">
       <option value="categorie1">categorie1</option>
       <option value="categorie2">categorie2</option>
       <option value="categorie3">categorie3</option>
       <option value="categorie4">categorie4</option>
       </select>
       </label><br><br>
       <label>Sous-catégorie <select name="sous_categorie">
       <option value="sous_categorie1">sous-categorie1</option>
       <option value="sous_categorie2">sous-categorie2</option>
       <option value="sous_categorie3">sous-categorie3</option>
       <option value="sous_categorie4">sous-categorie4</option>
       </select>
       </label><br><br>
       <label>Prix: <input type="text" name="prix" size="4" maxlength="4" /></label><br><br>
        <label>Quantité disponible: <input type="text" name="quantite" size="4" maxlength="4" /></label><br><br>
    	<label>Photo de l'article: <input type="file" name="image" /></label><br><br>
    	</fieldset>
    	<input type="submit" value="Ajouter l'article" name="validation" />
    	</form>

    il renvoi sur une page php que voici
    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
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db ("boutique");
    if ( isset($_POST) && !empty($_POST))
    {
    extract($_POST);
    }
    $reponse=mysql_query("SELECT * FROM article WHERE nom='".addslashes($nom)."'");
    $test= mysql_num_rows($reponse);
    if ($test==0)
    {
    if(isset($_POST['validation']))
          {
             //Indique si le fichier a été téléchargé
             $verif = is_uploaded_file($_FILES['image']['tmp_name']);
             if(!$verif)
             {
                echo 'Un problème est survenu durant l opération de transfert de l image. Veuillez réessayer !';
             }
             else
             {
                $maxtaille = 300000;           
                if($_FILES['image']['size'] > $maxtaille)
                {
                   echo 'Votre image est supérieure à la taille maximale de '.$maxtaille.' octets';
                }
     
                else
                {extract($_POST);
     
     
                    $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
     
    mysql_query("INSERT INTO article VALUES ('','".addslashes($nom)."','".addslashes($taille)."','".addslashes($prix)."','".addslashes($categorie)."','".addslashes($sous_categorie)."','".addslashes($quantite)."','".$image."','".$_FILES['image']['type']."','')");
    mysql_close();
    ?>L'article <? echo $nom;?> a bien été rajouté dans le catalogue à <?php echo $quantite;?> unités,ce nombre baissera au fur et à mesure des commandes<?php
    }
    }
    }
    }
    ?>
    donc comme vous pouvez le constater je mets l'image dans un blob,mais ensuite quand je fait ma boucle while pour afficher mon cataloguensi j'y mets un header(pour afficher l'image) ça ne m'affiche qu'une seule image ce qui est très chiant car je veux afficher l'image et les données correspondant à chaque produit dans la boucle

    je pense que le problême vient du header vu que le header ordonne d'afficher une image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ("Content-type: "image/png");
    Donc ma question est comment afficher à la fois des images et des données..
    je m'étais retranché sur une upload de l'image sur le serveur
    au lieu d'introduire l'image dans un blob ,je la mets dans un répertoire upload sur le serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    extract($_POST);
     
    			$nomfichier = microtime();
    $nomfichier = "upload/".str_replace(' ','',$nomfichier);
    $nom2=microtime();
    $resultat = move_uploaded_file($_FILES['image']['tmp_name'],$nomfichier);
    pour que tous les fichiers image aient un nom différent je leur donne le nom de la date mais je ne sais pas comment afficher cette image depuis ma boucle while...j'ai bien essayer img src mais çà fonctionne pas

    Voilà donc si quelqu'un peut m'aider svp ça serait cool


  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Tu as une erreur dans ton hearder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ('Content-type:image/png');

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par trotters213

    Tu as une erreur dans ton hearder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ('Content-type:image/png');
    non mon header il était bon,j'ai juste fait l'erreur pour vous montrer le code
    mon problême est justement le header,il m'empèche d'azfficher du php,il ne m'affiche une image et non une page,donc je ne peux afficher qu'une image...et pas le reste de mes infos
    moi ce que je veux c'est afficher mon image à partir du blob sans utiliser de header
    ou afficher mon image à partir d'un fichier présent sur le serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    extract($_POST);
     
    			$nomfichier = microtime();
    $nomfichier = "upload/".str_replace(' ','',$nomfichier);
    $nom2=microtime();
    $resultat = move_uploaded_file($_FILES['image']['tmp_name'],$nomfichier);
    Voilà le code que j'ai utilisé pour enregistrer mon image sur le serveur..maitenant je l'affiche comment mon image??vu que le fichier que j'enregistre n'a aucune extension??

  4. #4
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    bè en utilisant la balise
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="ton_image" alt="texte_alternatif" />
    où est le problème ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    ben mon problême est que quand j'utilise cette technique ça ne me renvoi aucune image,
    je pense l'avoir identifier
    quand j'enregistre mon image sur le serveur,elle n'a aucune extension vu que j'utilise le timestamp pour la nommer(comme çà aucun risque de deux images avec le même nom),et comme je la renomme sans extension,quand j'utilise la balise img src,ben ça ne reconnait pas une image vu qu'il n'y a aucune extension...
    donc là soit je doit faire en sorte que l'image soit renommé ainsi timestamp.extension de l'image,soit il me faut pouvoir l'afficher à partir du blob sans utiliser de header

    des idées??

    (en tout cas merci pour tes réponses trotters213)

  6. #6
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Si les images générées sont de types png tu n'as cas rajouter l'extension après le timestamp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nom_image=$timestamp.'.png'
    Si tu as des types d'images différents dans ce cas tu n'as cas rajouter un champ "type" dans ta BD dans lequel tu conserves les types des images.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    exactly comme çà j'aurai mon extension et ça marchera
    au moment de l'enregistrement je mets un champ avec le nom de l'image(la timestamp) et un autre avec le type
    comme çà je pourrai effectuer l'img src dessus
    merci beaucoup

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

Discussions similaires

  1. [PostgreSQL] Afficher une image stockée dans la base avec PHP / PDO / PostgresSQL
    Par genamiga dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 16/02/2011, 13h02
  2. Afficher une image contenue dans un Blob
    Par reeda dans le forum Général Java
    Réponses: 4
    Dernier message: 02/02/2009, 15h17
  3. Réponses: 5
    Dernier message: 30/10/2008, 10h06
  4. [Zip] Afficher une image contenue dans un fichier zip
    Par Mister Nono dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 19/03/2007, 08h59
  5. Réponses: 6
    Dernier message: 29/07/2005, 11h12

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