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 :

Affichage d'éléments de la base de donnée


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2014
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2014
    Messages : 41
    Points : 20
    Points
    20
    Par défaut Affichage d'éléments de la base de donnée
    Bonjour,

    j'ai un petit problème avec un formulaire "demande de devis" donc j'ai un formulaire voici la page correspondante :

    http://avstest.com/plouff1/devis.php

    quand je clique sur envoyer il envoie les données sur email et dans la partie admin tout fonctionne mais il y a juste un problème dans l'envoie de l'element produit
    quand vous choisissez une catégorie dans la liste déroulante une autre liste déroulante juste en dessous s'affiche avec les produits qui sont dans la catégorie choisis (c'est fait avec ajax je vous met le code ici pour que ce soit plus clair ):

    c'est dans un fichier

    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
    <?php
    // script PHP interrogation Base de donnees pour reponse a la requete AJAX
    include("config/connexion.php");
     
    // Connexion a la base de donnees  
     
     
    $req = "SELECT * FROM NomTable where id_cat='".$_POST['val_sel']."'"; 
    $ress=mysql_query($req);
     
    // construction de la liste deroulante" .
    $aff="";
    $aff.='
    
    <select  name="produit" id="produit"   >';
     
    $aff.='<option value="">-- Choisissez un produit--</option>';
     
    while($res_sect=mysql_fetch_array($ress))
    { 
     
     
     
     
    $aff.='<option value='.$res_sect['id_act'].'>'.utf8_encode($res_sect['title']).'</option>'; 
     
    		}
     
    $aff.='</select>
    
    
    
    
    ';
    // envoi reponse Php a Ajax	
    echo $aff; 
    //echo "<br><br>Valeur postee: ".$_POST['val_sel'];
     
    ?>
    dans la page ou il y a le forulaire l'affichage de la liste deroulante des produit se fais avec un test :
    et un affichage echo comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option value='.$id_cat.'>'.$nom_cat.'</option>';
    normalement dans l'email que je recois et dans la partie admin il m'affiche l'id du produit choisi

    mais le resultat est vide !! pour la catégorie choisi et toutes les autres information ca marche nikel je ne comprend pas pourquoi l'id du produit ne s'envoie pas meme dans la base de donné la valeur est vide.

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as mis "id_act" au lieu de "id_cat"
    quand tu developpes, affiche toutes les erreurs.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2014
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2014
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Merci pour votre réponse mais j'ai mal ecrit le code quand je vous ai expliquer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div align="left"><select name="categorie" id="categ" onchange="makeRequest('repPhpAjax_produit.php','categ','prod')"> 
                                <option value="" selected>-- Choisissez une catégorie--</option>
     <?php 
    		require_once("config/connexion.php"); 
    		$req = mysql_query("SELECT * FROM NomTable"); 
    	   while($aff=mysql_fetch_array($req))
    	   {
    	   $id_cat=$aff['id_act_cat']; $nom_cat=$aff['name_categorie'];
    	   echo '<option value='.$id_cat.'>'.$nom_cat.'</option>';
    	   }
     
    		  ?>

    cette echo la c'est pour afficher les catégories donc c'est bien id_cat

    pour l'affichage de la liste deroulant des produit c'est ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="prod">&nbsp;</div>

    qui est appeler depuis ajax

    le problème quand je choisi une catégorie et la liste deroulante des produits s'affiche et je fais inspecter elements chaque produit dans la liste a bien comme value son id mais lors de l'envoie rien ne se passe pour ce champ.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Deja il manque les guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option value="'.$id_cat.'">'.$nom_cat.'</option>';
    Ensuite, maintenant tu nous mets id_act_cat.
    En nous montrant des bouts de code eparses et avec des fautes c'est difficile de s'y retrouver dans ce que tu nous décris.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2014
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2014
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    qu'est ce que je pourrais vous copier de plus pour que ce soit plus clair ? merci de me le dire je peux même vous envoyé le fichier en question si vous voulez .

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Montre nous le formulaire entier pour commencer.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2014
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2014
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Voila c'est la page du formulaire :

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ne te focalise pas sur la partie Ajax puisque tu constates que ta liste de produits se construit correctement.
    Il manque par contre toujours les guillemets pour id_act.

    As-tu fais un debugage basique sur ce qui se passe entre le formulaire et la requête ?
    - affichage de $_POST
    - affichage de la requête ?

    Au passage l'extension mysql est obsolète ; au moins utilise mysql_real_escape_string() pour protéger les données et pas addslashes()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2014
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2014
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Le problème c'est que tout les autre champs et meme le select de la catégorie s'envoie dans la base et sur l'email sauf celle des produit

    et pour addslashes() je vais juste la mettre pour description parce que quand quelqu'un utilise des guillemets il y a un problème d'affichage et merci pour le conseil je vais mettre mysql_real_escape_string()

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/09/2014, 09h39
  2. [MySQL] Affichage d'éléments de la base de donnée
    Par jakj82 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/04/2014, 13h49
  3. Réponses: 4
    Dernier message: 18/08/2008, 12h44
  4. [MySQL]Affichage d'image depuis une base de données
    Par Sofute dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 20/02/2007, 14h43
  5. Réponses: 12
    Dernier message: 11/02/2007, 16h28

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