[RESOLU] FORMULAIRE + LISTE MYSQL

FORMULAIRE + LISTE MYSQL [RESOLU] - PHP - Programmation

Marsh Posté le 10-10-2014 à 08:06:40    

Bonjour,
 
J’ai un petit souci sur un formulaire, je récupère les lignes d’une table afin de remplir ma liste sur un formulaire ; jusque-là tout marche sinon que sur l’envoi, ce champ ne se remplit pas… sur ma base MYSQL
J’envoie  $donnees['DESIGNATION'] ------- name="nom"
 
SUR MON FORMULAIRE LA LISTE S’AFFICHE BIEN
<select>
<?php
// on récupère tout le contenu de la table
$reponse = mysql_query("SELECT * FROM table " );
while ($donnees =  mysql_fetch_array($reponse))
{
echo
'<option type="text" name="nom"   value=" '.$donnees['DESIGNATION'].' ">'.$donnees['DESIGNATION'].'</option>';    
}
?>
</select>
MA LISTE APPARAIT BIEN SUR MON FORMULAIRE
 
 
 
CÔTE ENVOI
<?php
//connexion au serveur
$cnx = mysql_connect("xxxxxx","xxxxxx","xxxxxx" );
 
//Selection de la base de donnée
$db = mysql_select_db("xxxxxx" );
 
//Recupetion des valeurs
 
//nom
if (isset ($_POST['nom']) AND $_POST['nom'] !=="" ) $nom=mysql_real_escape_string($_POST['nom']); else $nom="";
 
//création de la requête SQL:
  $sql = "INSERT  INTO table
          SET nom= '$nom'";
 
Bon, je vous évite la litanie et la clôture du reste de mon formulaire, bien sûr tout le reste de mon formulaire est remplis, donc correct….
J’ai essayé dans mon echo de changer mes apostrophes et guillemets, sans succès…
Merci pour votre aide


Message édité par hogz le 10-10-2014 à 12:17:53
Reply

Marsh Posté le 10-10-2014 à 08:06:40   

Reply

Marsh Posté le 10-10-2014 à 10:21:33    

J'aurais justement parié sur une histoire de pb d'échappement de caractères (apostrophe, guillemet..).
 
Si tu essayes d'insérer en bd un nom de désignation sans caractère "particulier", genre "Produit", ça marche ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-10-2014 à 10:42:57    

Oui, l'affichage ce fait dans mon déroulé via ma BD mais sur quand j'envoie le POST le champs de la BD ne se remplis pas....

Reply

Marsh Posté le 10-10-2014 à 10:53:12    

:fou: Pardon...Mal répondu...
'<option type="text" name="nom"   value="Produit">'.$donnees['DESIGNATION'].'</option>';  
 
Ne s'incorpore pas dans la base....

Reply

Marsh Posté le 10-10-2014 à 11:20:05    

Je crois que j'ai compris ton pb : tu sais pas faire du html :/
<select name="nom">
<option value="Produit1">xxxxx</option>
<option value="Produit2">yyyyy</option>
</select>
 
Edit : pour rappel, le name comme le id est un attribut ayant une valeur généralement unique sur la page html (je dis "généralement" car y'a une exception pour les boutons radio).


Message édité par rufo le 10-10-2014 à 11:21:06

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-10-2014 à 11:46:18    

Je ne saisi pas très bien...
La liste est affichée avec un ARRAY....dans le SELECT  
Pourquoi faire un SELECT avec des VALUE comme une liste composée manuellement.
Dans mon cas
{  
echo  
'<option type="text" name="nom"   value=" '.$donnees['DESIGNATION'].' ">'.$donnees['DESIGNATION'].'</option>';    
}  
 
Dans mon cas  value=" '.$donnees['DESIGNATION'].'  doit "normalement" :lol: être dans le name="nom"
Je ne saisi pas très bien... :pt1cable:

Reply

Marsh Posté le 10-10-2014 à 11:53:35    

Le point important était de te faire comprendre que l'attribut "name" est à mettre sur le <select> et non sur le <option>.
 
A tous les coups, t'as même pas fait un var_dump($_POST); pour savoir ce que tu récupérais quand tu postais ton formulaire. Car si c'était le cas, t'aurais vu que tu récupérais rien (ou en tout cas, pas ce que tu attendais).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-10-2014 à 12:16:32    

T'as raison...il faut que je révise mon HTML :pt1cable:  
Effectivement faute grossière...
Merci pour ton éclairage.

Reply

Marsh Posté le 10-10-2014 à 13:35:55    

Pas de quoi ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-10-2014 à 17:36:24    

rufo a écrit :

Le point important était de te faire comprendre que l'attribut "name" est à mettre sur le <select> et non sur le <option>.
 
A tous les coups, t'as même pas fait un var_dump($_POST); pour savoir ce que tu récupérais quand tu postais ton formulaire. Car si c'était le cas, t'aurais vu que tu récupérais rien (ou en tout cas, pas ce que tu attendais).


 
salut
 
+1 var_dump($_POST);
 
c'est la base pour débugguer
 
et toujours vérifier les paramètres (post ou get)
avant de commencer ton traitement
 
par exemple :
 
<?php
 
if (!isset ($_POST["nom_du_parametre"]))  
{
    die ("paramètre nom_du_parametre non setté" );
}
 
//connexion au serveur  
$cnx = ......

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed