Envoi de donnée venant d'une liste de choix liée à une base

Petit nouveau ! | 8 Messages

18 janv. 2012, 15:32

Bonjour,

J'aimerais faire un formulaire pour introduire des données dans une base, je dois y introduire le nom d'un club (sur bas d'une liste de choix liée à une table)
Le choix fonctionne mais la donnée club n'est pas envoyée, par contre nombre s'encode bien.
Je suis novice, alors si quelqu'un pouvait m'aider :priere:
mysql_select_db('bikers_entente', $db) or die($resultat.'<br>'.mysql_error());
$sql = "select club from clubs_bw order by club";

$list = mysql_query($sql);
while ($data = mysql_fetch_array($list))
{echo'<option value="'.$data['value'].'">'.$data['club'].'</option>';}
?>

</select>
</br>
<p><strong>Nombre:</strong> <input type "text" name="nombre"
size="12"<br />

ViPHP
xTG
ViPHP | 7331 Messages

18 janv. 2012, 15:38

Il n'y a qu'un bout de code et qui ne présente pas la récupération ni le nom de l'élément html donc pour t'aider il nous faudra plus. :)

Tu peux aussi faire un var_dump($_POST); sur ta page de traitement pour voir ce que tu récupères comme données de ton formulaire.

Petit nouveau ! | 8 Messages

18 janv. 2012, 15:48

Voici le formulaire de récupération de données (seul nombre fonctionne)

Merci pour ton aide

Code : Tout sélectionner

<?php $db = mysql_connect(donnée de connexion)or die ("Connexion impossible."); mysql_select_db('bikers_entente', $db) or die($resultat.'<br>'.mysql_error()); // teste les valeurs. $club=$_POST['club']; $nombre=$_POST['nombre']; $requete = "INSERT INTO randos(club,nombre) VALUES('". $club ."', ". $nombre .")"; $resultat=mysql_query($requete) or die ('Erreur SQL<br />'.$requete.'<br />'.mysql_error()); echo 'votre enregistrement à bien été effectué'; mysql_close(); ?>

ViPHP
xTG
ViPHP | 7331 Messages

18 janv. 2012, 16:15

Sur cette page mets le var_dump($_POST) pour voir ce que tu récupères de ton formulaire.
Et tu auras déjà un début de réponse. :)

Petit nouveau ! | 8 Messages

18 janv. 2012, 16:22

Voilà ce que cela donne

array(3) { ["liste"]=> string(0) "" ["nombre"]=> string(1) "4" ["datrando"]=> string(10) "12/06/2011" } votre enregistrement à bien été effectué

Petit nouveau ! | 8 Messages

19 janv. 2012, 21:33

Reste persuadé que le problème est ici

$list = mysql_query($sql);
while ($data = mysql_fetch_array($list))
{echo'<option value="'.$data['value'].'">'.$data['club'].'</option>';}
?>

Est ce que c'est bien la valeur club qui est input ???

Merci pour votre aide

ViPHP
xTG
ViPHP | 7331 Messages

19 janv. 2012, 22:15

Dans ta requête SQL tu ne sélectionnes pas de colonne nommée value.
Changes ton niveau d'erreur PHP et ça passerait pas aux oubliettes ce genre d'erreur. ;)

Petit nouveau ! | 8 Messages

19 janv. 2012, 22:32

La colonne que je voudrait sélectionné s'appelle club et le liste fonctionne bien.
Mais l'envoi se fait pas.
Je rappelle que je suis 100 % novice

Merci pour ton aide

ViPHP
xTG
ViPHP | 7331 Messages

20 janv. 2012, 12:47

Traduisons un peu ce que tu fais avec ta requête alors:
select club from clubs_bw order by club
=> Renvoies moi la colonne club de tous les clubs ordonnées par la colonne club de façon croissante.

club est donc la seule colonne que ta requête renvoie.
$data ne contient donc qu'un seul index : à savoir $data['club']
$data['value'] n'existe pas !
Donc sans savoir ce que véritablement tu voulais transmettre je ne peux t'aider sans plus d'informations...
Car je ne sais même pas ce que ce qu'il y a dans club.

Mais si value est une colonne de ta table MySQL il faut dans ce cas l'ajouter dans la requête pour pouvoir l'afficher.

Petit nouveau ! | 8 Messages

20 janv. 2012, 13:04

L'idée est toute simple, je stocke les noms de club dans une table.
Chaque personne qui m'enverra ses résultats pourra choisir parmi les noms de club existant et ensuite indiquer le nombre de participants et envoyer ses donnée dans une base rando destinée à élaborer des statistiques.
Il me faut donc un sript qui me permet de selectionner, là pas trop de problème mais d'ensuite envoyer la donnée selectionnée dans la table rando et c'est là que je butte.

Merci pour ton aide et ta patience

ViPHP
xTG
ViPHP | 7331 Messages

20 janv. 2012, 13:31

Donc si je comprend bien tu as une table club qui n'a pas de clé primaire...
Bon donc si on part sur ce schéma incomplet c'est $data['club'] qui doit être dans l'attribut value de la balise option.
Car je vois même pas d'où tu sors cet index $data['value'] du coup... On peut pas inventer de variable en programmation. ^^

Petit nouveau ! | 8 Messages

20 janv. 2012, 14:20

J :D Je viens de remplacer par

Code : Tout sélectionner

{echo'<option value="'.$data['club'].'">'.$data['club'].'</option>';}
Et cela marche, grand merci pour ton aide =D>