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 :

associer une image à des données envoyées via un formulaire


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2011
    Messages : 15
    Points : 13
    Points
    13
    Par défaut associer une image à des données envoyées via un formulaire
    Bonjour,
    je développe (j'essaye car je débute !!) une interface pour une location saisonnière. J'ai créé un formulaire de recherche ou le visiteur peut choisir une ville de location, une date et un prix max. Lorsque j'effectue ma requête dans la table studio (table qui contient les champs ville, dates, prix et image), j'ai les résultats qui s'affichent (ceux des champs remplis par le formulaire) et je voudrai y associer l'image qui correspond à la ville pour que les gens puissent cliquer dessus. Je sèche sur la manière d'associer les valeurs postés et cette image.
    Avec le code suivant, ça me dit que la variable $image n'est pas déclarée, mais quand je la déclare ($image='image' je ne sais pas si c'est ça et où !!), la photo ne s'affiche pas (j'ai un carré blanc).
    Le problème vient-il du code, où du contenu du champ image dans la table qui est l'adresse de l'image ?
    Cette adresse doit-elle être du type http://localhost/wamp/www/location/images/img1.png ? (je travaille en local pour l'instant).

    Merci pour votre aide, 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
    <html>
    <body>
    <?php
    // On commence par recuperer les champs
    if(isset($_POST['ville']))      $ville=$_POST['ville'];
    else      $ville="";
     
    if(isset($_POST['dates']))      $dates=$_POST['dates'];
    else      $dates="";
     
    if(isset($_POST['prix']))      $prix=$_POST['prix'];
    else      $prix="";
     
    //faut-il déclarer $image ?
     
    try
    {
        // On se connecte a  MySQL
        $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
        $bdd = new PDO('mysql:host=localhost;dbname=location', 'root', '', $pdo_options);
     
    $req = $bdd->prepare('SELECT ville, dates,prix FROM studio WHERE ville = :ville AND dates = :dates AND prix<=:prix');      //faut-il rajouter image avant FROM ?
    $req->execute(array('ville' => $_POST['ville'], 'dates' => $_POST['dates'],'prix'=>$_POST['prix']));                                   //faut-il rajouter $image après ['prix'] ?
        echo '<ul>';
        while ($donnees = $req->fetch())
        {
            echo '<li>' . $donnees['ville'] . ' ' . $donnees['dates'] . ' '.$donnees['prix'].'<img src="'.$image['image'].'"/></li>';
     
        }
        echo '</ul>';
     
        $req->closeCursor();
    }
    catch(Exception $e)
    {
        die('Erreur : '.$e->getMessage());
    }
    ?>
    </body>
    </html
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Ce message est complètement à côté de la question posée.

    Édite ton message afin de mettre ton code entre balises "code" : bouton dièse.

    Ensuite, ton modèle de données n'est pas bon. Tu devrais avoir les tables suivantes :

    type_location
    id_type
    libelle_type (studio, appartement, etc...)

    ville
    id_ville
    nom_ville
    cp_ville

    location
    id_location
    type_id
    ville_id
    date_deb (AAAA-MM-JJ)
    date_fin (AAAA-MM-JJ)
    prix
    image

    Avant d'aller plus loin, penche toi un peu là-dessus.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2011
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    je suis dans une phase de test, donc les champs et les tables ont juste été créés pour faire des essais. Merci tout de même pour tes conseils.
    Suite à d'autres messages sur un autre forum, voici mon code modifié, mais qui ne permet toujours pas l'affichage de l'image !!
    Merci pour votre aide.

    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
     
     
    <html> 
    <body> 
    <?php 
     
    // On se connecte a  MySQL 
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; 
    $bdd = new PDO('mysql:host=localhost;dbname=location', 'root', '', $pdo_options); 
     
    $req = $bdd->prepare('SELECT ville, dates,prix,image FROM studio WHERE ville = :ville AND dates = :dates AND prix<=:prix'); 
    $req->execute(array('ville' => $_POST['ville'], 'dates' => $_POST['dates'],'prix'=>$_POST['prix'])); 
    echo '<ul>'; 
    while ($donnees = $req->fetch()) 
    { 
    if (!empty($donnees['image']))
       echo '<li>' . $donnees['ville'] . ' ' . $donnees['dates'] . ' ' . $donnees['prix'] . '<img src="' . $donnees['image'] . '" alt="" /></li>'; 
    else
       echo '<li>' . $donnees['ville'] . ' ' . $donnees['dates'] . ' ' . $donnees['prix'] . '</li>';
    } 
     
    echo '</ul>'; 
     
    $req->closeCursor(); 
    } 
     
    ?> 
    </body> 
    </html>

Discussions similaires

  1. Comment puis-je recupérer des données envoyées via TCP
    Par pierrot10 dans le forum Général Python
    Réponses: 0
    Dernier message: 26/12/2014, 00h12
  2. [WD17] Récupération des mots-clés associés à une image
    Par golmon75 dans le forum WinDev
    Réponses: 3
    Dernier message: 10/12/2013, 10h45
  3. [PHP 5.0] Problème d'utilisation des données envoyées par un formulaire html
    Par fonejeje dans le forum Langage
    Réponses: 2
    Dernier message: 14/01/2012, 00h28
  4. Réponses: 4
    Dernier message: 30/05/2011, 12h14
  5. Réponses: 4
    Dernier message: 30/01/2007, 14h42

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