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 :

Requête des données d'une table depuis un formulaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Requête des données d'une table depuis un formulaire
    Il s'agit d'une requête simple d'une table à partir d'un formulaire.

    Les parties 1 => 2 fonctionnent : il s'agit d'interroger la table (voir §4) de la manière la plus simple en demandant la colonne '75' pour la valeur 'cont40' soit 550 et on obtient la valeur demandée donc le script fonctionne :-)

    Mais maintenant, lorsqu'on utilise ce même script en remplaçant 75 par $_POST['dep'] c'est à dire la variable issue du formulaire (soit 75 ou 77), ça ne marche pas (parties 1 =>3)!!

    J'ai essayé des dizaines de formulations différentes, j'y ai passé des heures, des journées (avec guillemets, sans guillemets.......).

    Je vous remercie par avance de m'aider à trouver où se trouve l'erreur .

    Cordialement

    1/ Formulaire de requête (qui fonctionne sans problèmes)

    <html>
    <body>
    <h3> Enlevement </h3>
    <form action="maritime.php" method="post">
    <select name="dep">
    <option value="75">75</option>
    <option value="77">77</option>
    </select>

    <h3> Conteneur </h3>
    <select name="conteneur">
    <option value="cont20">20</option>
    <option value="cont40">40</option>
    </select>

    <h3> Destination </h3>
    <select name="destination">
    <option value="Shanghai">Shanghai</option>
    </select>

    <input type="submit" />
    </form>
    </body>
    </html>

    2/ Page qui marche correctement

    Code PHP : 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
    <?php
     
     
     
    $con = mysql_connect("localhost","root","root");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
     
    mysql_select_db("nico2_db", $con);
     
     
     
    $reponse = mysql_query("SELECT cont20, cont40 FROM enlevement WHERE departement='75'"); 
     
    while ($preach = mysql_fetch_array($reponse))
     
     
     
    echo $preach ["cont40"]; 
     
     
     mysql_close();
     
    ?>

    3/ Page qui ne marche pas (identique à la page précédente sauf la variable $_POST['dep']:

    Code PHP : 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
    <?php
     
     
     
    $con = mysql_connect("localhost","root","root");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
     
    mysql_select_db("nico2_db", $con);
     
     
     
    $reponse = mysql_query("SELECT cont20, cont40 FROM enlevement WHERE departement='$_POST['dep']'"); 
     
    while ($preach = mysql_fetch_array($reponse))
     
     
     
    echo $preach ["cont40"]; 
     
     
     mysql_close();
     
    ?>

    4/ Aperçu de la table "enlevement":
    id department cont20 cont40 mad
    1 75 450 550 50
    2 77 480 580 55

  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Bonjour,
    Je me suis arrêter au 1er paragraphe car j'y ai deja décelé des erreurs.
    • la balise <form> n'est pas fermée
    • il y a plusieurs debut de formulaire, le 1er suffit
    • tes select ont tous le meme nom ('name') donc tu recupere une seule variabel $_POST['choix']. Va savoir a quelle liste déroulante elle correspond
    • un <select> prend pour valeur la 'value' du <option> qu'il contient, et qui sera selectionné. Donc pour ta 1ere liste déroulante, actuellement : tu renvoies la variabel $_POST['choix'] qui vaudra a tous les coups 'dep'.


    Avec des corrections, en tenant compte de ce que tu as ecris dans les autres paragraphes :
    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
    <html>
    	<body>
    		<h3> Enlevement </h3>
    		<form action="maritime.php" method="post">
    			<select name="dep">
    				<option value="55">75</option>
    				<option value="77">77</option>
    			</select>
     
    			<h3> Conteneur </h3>
    			<select name="conteneur">
    				<option value="cont20">20</option>
    				<option value="cont40">40</option>
    			</select>
     
    			<h3> Destination </h3>
    			<select name="destination">
    				<option value="Shanghai">Shanghai</option>
    			</select>
     
    			<input type="submit" />
    		</form>
    	</body>
    </html>
    un peu de lecture sur le fonctionnement des balises ne ferait pas de mal. Je te conseille http://www.w3schools.com/html/default.asp
    Bon courage !
    Z.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Merci mais...
    Je vous remercie, j'ai modifié le formulaire tel que vous me l'avez décrit.

    Malheursement cela ne fonctionne toujours pas et la requête aboutit à une page blanche. Pourriez-vous regarder de nouveau ?

    Bien cordialement

  4. #4
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Il faudrait afficher ce que contiennent tes variables, en particulier si tu pouvais remplacer cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = mysql_query("SELECT cont20, cont40 FROM enlevement WHERE departement='$_POST['dep']'");
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo $query = "SELECT cont20, cont40 FROM enlevement WHERE departement='$_POST['dep']'";
    $reponse = mysql_query($query) or die('Requête invalide : ' . mysql_error()); echo $reponse;
    dis moi ce que ca affiche, et eventuellement d'autres parties de ton code que tu jugeras pertinante.
    Z.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Essai non concluant
    Merci pour cette suggestion.

    En remplaçant la ligne par la detection d'erreur, j'obtient une page blanche

    Donc pas de message d'erreur mais pas de valeur non plus !

  6. #6
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    tu as peux être un souci de configurationd e ton serveur. Tu devrais au moins afficher la requete : echo $query

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 92
    Points : 70
    Points
    70
    Par défaut
    essaye en remplacant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ....WHERE departement='$_POST['dep']'");
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $dep=$_POST['dep'];
     
    ....WHERE departement='dep'");
    ca peut paraitre con, mais une fois j'ai galéré pareil pendant des heures, et quand j'ai essayé ca, ca a marché niquel. Pour qui pourquoi, je sais pas, le hasard, est ce que j'avais fait une erreur en ecrivant le $_POST. Va savoir, en tout cas ca a bien marcher apres

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Merci Merci
    Tout fonctionne.

    il fallait juste appeler la variable de cette façon: " . $_REQUEST["dep"] . "

    Bonne soirée,

    Bien cordialement

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

Discussions similaires

  1. [XL-2013] Rechercher et lister des données dans une feuille depuis un formulaire
    Par UZeInDub dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/01/2015, 09h49
  2. Réponses: 5
    Dernier message: 09/10/2008, 19h14
  3. Requête d'extraction des données d'une table
    Par sylsau dans le forum Oracle
    Réponses: 5
    Dernier message: 18/12/2007, 09h39
  4. [XI] Inserer des données dans une Table depuis CRXI
    Par jouberts dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 10/07/2007, 09h21
  5. [Requête/SQL]Importer des données d'une table à l'autre
    Par atlantideD dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/04/2007, 10h46

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