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 :

insert et afficher une image à partitr d'une bdd


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut insert et afficher une image à partitr d'une bdd
    bonjour tous le monde
    voila mon pro c'est que lorsque j'insere l'url d'une image a ma bdd ce dernier s'affiche dans le champ url_image sous forme binaire
    et lorsque je veux l'afficher l'image ne s'afffiche pas
    sachant que le faite d'insertion s'effectue apartir d'un formulaire
    et merci d'avance pour vous reponses

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Salut ,

    tu insere l'URL en binaire ? pour quelle raison ?

    sinon un peu de code peut aider
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut
    non pour moi j'ai seulement inserer normalement par mon image mais lorsque je verifier dans phpadmin je trouve que le chomp url_image est sousforme binaire
    et merci encire une fois

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    On peut voir le code complet , ça sera surement plus parlant ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut
    ce code la qui permet l'insertion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    			// On commence par récupérer les champs 
     
    $nom = mysql_real_escape_string($_POST['nom']);
    $categorie = mysql_real_escape_string($_POST['categorie']);
    $ville = mysql_real_escape_string($_POST['ville']);
    $adresse= mysql_real_escape_string($_POST['adresse']);
    $tel = mysql_real_escape_string($_POST['tel']);
    $fax = mysql_real_escape_string($_POST['fax']);
    $description=mysql_real_escape_string($_POST['description']);
    //Lecture du fichier. On doit utiliser la fonction mysql_escape_string car les données binaires contiennent des caractères spéciaux.
    $image = mysql_escape_string(file_get_contents($_FILES['image']['tmp_name']));
     
    //Il ne reste qu'à insérer tout ça dans notre table.
    				mysql_query("INSERT INTO hotels (nom_hotel, categorie_hotel, ville_hotel, adresse_hotel, telephone_hotel, fax_hotel, image_hotel,type_image_hotel,description_hotel,etat_hotel) VALUES('".$nom."', '".$categorie."', '".$ville."', '".$adresse."','".$tel."','".$fax."','".$image."','".$extension."','".$description."','A')") or exit (mysql_error());
    et cela pour afficher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    while( $donnees = mysql_fetch_array($reponse)) { 
     
    if ($donnees['nom_hotel']='farah') { 
     ?>
    <fieldset> 
    <table align="center" border="0">  
     <tr><td rowspan="2">
    <center> <?php 
    echo ''.$donnees['ville_hotel'].' <br>';
    echo '<img alt="image-hotel" src="'.$donnees['image_hotel'].'" border="0"/>';
    ?>
    </center></td> <td><?php
    	echo"". $donnees['description_hotel']."</td></tr></table></fieldset> ";

  6. #6
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    tu ne peux pas la faire afficher comme ceci , tu devrais creer un fichier PHP qui lit la valeur du champs binaire et qui renvoi celle ci avec des headers d'image.

    Tu feras ensuite appel a ce fichier dans ta balise img , tu peux voir l'exemple dans cette discussion
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  7. #7
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut
    je vous remercier tellement ridekick
    mais mon pro c que moi j'enregistre seulement url et le pro c que cette url et sous forme binaire mais mon image est situer sud une repertoire physique
    et merci encore une fois

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    alors pourquoi enregistrer l'url en binaire ? et pas seulement en text ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  9. #9
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $image = mysql_escape_string(file_get_contents($_FILES['image']['tmp_name']));
    $image doit contenir l'url? Parce que la il contient le fichier pas le chemin Oo

    EDIT : voila, RideKick a bien résumé le problème

  10. #10
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut
    merci encore une fois le pro est vraiment dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $image = mysql_escape_string(file_get_contents($_FILES['image']['tmp_name']));
    mais le pro c que meme ca je n'arrive pas a afiiche cette image

  11. #11
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Évidemment tu stock un fichier au lieu du chemin donc tu te retrouve avec des données binaire dans ton champ image_hotel au lie de l'url .

    file_get_contents recupère le fichier pas le chemin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_FILES['image']['name']
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_FILES['image']['tmp_name']
    devrait marcher pour donner au final :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $image =$_FILES['image']['tmp_name'];

  12. #12
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par agnaou Voir le message
    mais le pro c que meme ca je n'arrive pas a afiiche cette image
    bah ça je pense qu'on a plutôt compris .....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $image =$_FILES['image']['tmp_name'];
    devrait suffir mais ton champs est en binaire , si tu relis mes reponses tu devrais changer ça et y arriver .

    Edit : Grillé , pro resolu ? lol
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  13. #13
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut
    encore une fois merci ridekick
    je fais tous ceque tu as demander
    je changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $image =$_FILES['image']['tmp_name'];
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $image = mysql_real_escape_string($_POST['image']);
    mais cette fois rien s'enregistre dans le champ url_image

  14. #14
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Heu c'est une blague?

    A aucun moment RideKick te demande de faire ça Oo

    Il te dit de changer le type de ton champ image_hotel est-il bien de champ text?

    Par ailleurs sa solution était de changer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $image = mysql_escape_string(file_get_contents($_FILES['image']['tmp_name']));
    Par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $image =$_FILES['image']['tmp_name'];
    Rien de plus !

  15. #15
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut
    un grand chapeau pour mr obito
    c vraiment ce que je fais est le chemin temporaire et dansla base mais
    mio j'ai déja deplacer sur un autre repertoire physique
    donc c evident de metre le new repertoir ais coment faire
    j'essai de deplacer le fichier avant l'inertion et anregisté le nouveau chemin dans le url_image mais l'inage ne s'affiche pas
    et merci enore une fois

  16. #16
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par agnaou Voir le message
    un grand chapeau pour mr obito
    De rien

    Citation Envoyé par agnaou Voir le message
    c vraiment ce que je fais est le chemin temporaire et dansla base mais
    mio j'ai déja deplacer sur un autre repertoire physique
    donc c evident de metre le new repertoir ais coment faire
    j'essai de deplacer le fichier avant l'inertion et anregisté le nouveau chemin dans le url_image mais l'inage ne s'affiche pas
    et merci enore une fois
    Le plus simple c'est que l'image se trouve effectivement a l'endroit que l'url indique.

    Après bah faut aller changer les valeurs dans la base si elles ne sont pas bonnes.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  17. #17
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Bah quoi

    Non effectivement je pense que RideKick a bien aidé quand même

    Sinon voila déjà fait le vide dans ta base de données pour virer les enregistrement précédents qui plantaient et repart de 0, tu y verra surement plus clair!

  18. #18
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut
    un grand chapeau est pour vous les deus et tous les membres de ce from parceque c est vraiment un moyenne trés efficace pour tous débutant comme moi
    donc j'essai ceque vous proposer mais en core une fois l'image ne s'affiche pas sachant que j'ai changer le chemain vers une repertoir physique et ce n'est dans le fichier temporaie en easyphp
    et merci pour voos reponses tous les deux

  19. #19
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Si tu connais le chemin des images puisque tu les deplace , pourquoi ne pas le mettre en base ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  20. #20
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut
    j'ai deja essay mai rien de nouveau
    voci 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
    //on definer le repertoire de stockage physique defichier			
    			$repertoireDestination = 'E:\Agence de voyage\images\ ';
        $nomDestination        = $_FILES["image"]["name"];
     
        if (is_uploaded_file($_FILES["image"]["tmp_name"])) {
            if (rename($_FILES["image"]["tmp_name"],$repertoireDestination.$nomDestination)) {
         echo "<br>";
        echo "<b>";
                echo "Le fichier temporaire ".$_FILES["image"]["tmp_name"].
                     " a été déplacé vers ".$repertoireDestination.$nomDestination;
            } else {
        echo "<br>";
        echo "<b>";
                echo "Le déplacement du fichier temporaire a échoué".
                     ", le fichier est déjà uploadé dans le dossier ".$repertoireDestination;
           }         
        } else {
        echo "<br>";
        echo "<b>";
           echo "Le fichier n'a pas été uploadé (trop gros ou inexistant)";
        }
                        //Il ne reste qu'à insérer tout ça dans notre table.
     
    				mysql_query("INSERT INTO hotels (nom_hotel, categorie_hotel, ville_hotel, adresse_hotel, telephone_hotel, fax_hotel, image_hotel,type_image_hotel,description_hotel,etat_hotel) VALUES('".$nom."', '".$categorie."', '".$ville."', '".$adresse."','".$tel."','".$fax."','".$repertoireDestination.$nomDestination."','".$extension."','".$description."','A')") or exit (mysql_error());
    				mysql_close();
    et merci pour vous reponses

Discussions similaires

  1. Différence entre une image simple et une image 3D
    Par katebe dans le forum Traitement d'images
    Réponses: 9
    Dernier message: 29/08/2008, 18h03
  2. Réponses: 7
    Dernier message: 07/07/2008, 11h18
  3. Réponses: 4
    Dernier message: 19/06/2008, 15h41
  4. position dans une image (selection dans une image)
    Par kaiseresis dans le forum Images
    Réponses: 3
    Dernier message: 31/05/2008, 13h30
  5. Convertir une image jpeg en une image .ico. .
    Par sonja dans le forum Imagerie
    Réponses: 5
    Dernier message: 14/05/2007, 18h41

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