BDD et formulaire

  • Créateur du sujet Créateur du sujet Halbert
  • Date de début Date de début
A

Anonyme

Invité
Bonjour

J'ai un formulaire du genre :

<form action="traitementxx.php" method="get"><b>
<p style="text-align: center;"><label>Nom <br/>

<select name="nom">

<option value="xx">X X</option>
<option value="yy">Y Y</option>

environ 100 valeurs...

</select>
...

ces nom et valeurs se trouvent dans ma BDD ; est-il possible de les récupérer dans le formulaire ? Pour ne pas les retaper à la main ?

Merci

Albert
 
Et si tu lisait un tuto PHP quelconque avant de poser une question ?
Prend n'importe quel tuto PHP/MySQL, si c'est pas une des premières choses qu'on te montre (lire des données dans une table) quand ça commence à parler de MySQL, change de tuto. Il y en a des tas sur le net. GIYF.


Question mal comprise : je sais rapatrier des données, pas de problème....et pourquoi laisser tomber SQL, je ne me sers que de ça !

Albert
 
Question mal comprise : je sais rapatrier des données, pas de problème....
Alors reformule ta question, parce que je vois pas en quoi tu peux avoir des problème pour "les [les données dans la bdd] récupérer dans le formulaire" si tu sais le faire... non ?
et pourquoi laisser tomber SQL, je ne me sers que de ça !
Qui a parlé de laisser tomber MySQL ?? :mouais:

En cadeau :

Recherche Google "tuto php mysql lire des données"

2nd résultat de la recherche
 
Alors reformule ta question, parce que je vois pas en quoi tu peux avoir des problème pour "les [les données dans la bdd] récupérer dans le formulaire" si tu sais le faire... non ?Qui a parlé de laisser tomber MySQL ?? :mouais:

En cadeau :

Recherche Google "tuto php mysql lire des données"

2nd résultat de la recherche

Merci mais tout ça je connais parfaitement.

Essayons d'être plus clair :

Je tape mon formulaire

<form action="traitementxx.php" method="get"><b>

<p style="text-align: center;"><label>Nom<br/>

<select name="nom">

<option value="valeur 1">Nom 1</option>
<option value="valeur 2">Nom 2</option>
et ainsi de suite...

</select>

Dans une table de ma BDD, il y a les deux séries d'infos "valeur" et "nom"

Est-ce que DANS un formulaire (au moment où je l'écris), au lieu de rentrer les 100 valeurs et noms, je peux rentrer à la place deux variables $V1 et $N1 etc...

Albert
 
C'est bien ce que j'avais compris et je ne vois pas ce qui peut te poser problème si effectivement tu sais récupérer des données dans une table et les lire :heu:

Une fois que tu as récupérer tes données tu boucles dessus puis tu les affiches comme tu le souhaite !

Je suppose que la table s'appelle "donnees_form", que les champs sont "nom" et "valeur".
Bloc de code:
(...)
<select name="nom">
<?php
  $connex = mysql_connect(...); //connexion à la base
  mysql_select_db('TaBayDayDay'); // :p
  $datas = mysql_query('SELECT `nom`,`valeur` FROM `donnees_form`;'); // récupération des données
  mysql_close($connex);
  while ($data = mysql_fetch_array($datas)) {
    echo '<option value="',$data['valeur'],'">',$data['nom'],'</option>';
  }
?>
</select>
(...)

:)
 
C'est bien ce que j'avais compris et je ne vois pas ce qui peut te poser problème :heu:

Une fois que tu as récupérer tes données tu boucles dessus puis tu les affiches comme tu le souhaite !

Je suppose que la table s'appelle "donnees_form", que les champs sont "nom" et "valeur".
Bloc de code:
(...)
<select name="nom">
<?php
  $connex = mysql_connect(...); //connexion à la base
  mysql_select_db('TaBayDayDay'); // :p
  $datas = mysql_query('SELECT `nom`,`valeur` FROM `donnees_form`;'); // récupération des données
  mysql_close($connex);
  while ($data = mysql_fetch_array($datas)) {
    echo '<option value="',$data['valeur'],'">',$data['nom'],'</option>';
  }
?>
</select>
(...)

:)

En fait, avant de le faire je voulais juste savoir si c'était possible.
Merci pour tout.
Bonne soirée
Albert
 
En fait, avant de le faire je voulais juste savoir si c'était possible.
Merci pour tout.
Bonne soirée
Albert
:D

C'est fou comme les gens flippe à côté d'un ordi. Ma grand-mère me demande à chaque fois qu'elle fait un truc si c'est bien comme ça qu'il faut faire (elle est coule ma grand-mère et maintenant elle donne des cours à ses amies, donc faut pas prendre mal la comparaison :D).

Faut pas avoir peur, faut essayer et si ça marche pas tant pis, il y a très peu de chance que tu pète un truc !

En plus tu es sous Mac donc tu peu raisonnablement te dire que tant que OS X te demande pas ton password admin tu risque pas de cassé quoi que ce soit.

Je précise ça parce que j'ai déjà rendu mon PowerBook inutilisable (j'avais modifier un fichier du système pour voir un truc, et il ne démarrait même plus :p Heuresement je savais exactement ce que j'avais fait et j'ai pu corriger ça en accédant à mon ordi en le démarrant comme disque dur externe... Merci Apple d'voir pensé à ça :D).

Bonne soirée à toi aussi :)
 
C'est bien ce que j'avais compris et je ne vois pas ce qui peut te poser problème si effectivement tu sais récupérer des données dans une table et les lire :heu:

Une fois que tu as récupérer tes données tu boucles dessus puis tu les affiches comme tu le souhaite !

Je suppose que la table s'appelle "donnees_form", que les champs sont "nom" et "valeur".
Bloc de code:
(...)
<select name="nom">
<?php
  $connex = mysql_connect(...); //connexion à la base
  mysql_select_db('TaBayDayDay'); // :p
  $datas = mysql_query('SELECT `nom`,`valeur` FROM `donnees_form`;'); // récupération des données
  mysql_close($connex);
  while ($data = mysql_fetch_array($datas)) {
    echo '<option value="',$data['valeur'],'">',$data['nom'],'</option>';
  }
?>
</select>
(...)

:)

Bonjour
J'ai, avec retard, utilisé ton code. Ca marche bien merci.
Mais il y a un problème : quand la feuille traitement du formulaire est sollicitée, la variable nom est vide.
Comment enregistrer le nom choisi dans la liste ?
Merci
Albert
 
Euh avec les variables globals, ou de sessions non ?

Pour se faire, il te faut rajouter un name='nom' dans chaque select et ensuite sur ta page transformxx.php utiliser les variables globals :

$_GET["nom"] (dans ton cas) ou $_POST["nom"]

C'est mieux d'utiliser les POST, cela cache tous les paramètres et évite de tenter certains bidouilleurs d'injecter du code SQL dans les paramètres !

J'éspère avoir répondu à ta question !
 
Euh avec les variables globals, ou de sessions non ?

Pour se faire, il te faut rajouter un name='nom' dans chaque select et ensuite sur ta page transformxx.php utiliser les variables globals :

$_GET["nom"] (dans ton cas) ou $_POST["nom"]

C'est mieux d'utiliser les POST, cela cache tous les paramètres et évite de tenter certains bidouilleurs d'injecter du code SQL dans les paramètres !

J'éspère avoir répondu à ta question !

Bonjour et merci
Varaibles globales

Je le mets où exactement le name='nom' ?

Merci

Albert
 
Comme ça :

Bloc de code:
<select name="pays">
  <optgroup label="Europe">
    <option value="fr" selected="selected">France</option>
    <option value="it">Italie</option>

  </optgroup>
  <optgroup label="Asie">
    <option value="ch">Chine</option>
  </optgroup>
</select>

Pour plus d'info
. ;)
 
Comme ça :

Bloc de code:
<select name="pays">
  <optgroup label="Europe">
    <option value="fr" selected="selected">France</option>
    <option value="it">Italie</option>

  </optgroup>
  <optgroup label="Asie">
    <option value="ch">Chine</option>
  </optgroup>
</select>

Pour plus d'info
. ;)
Merci mais je ne comprends pas.
Dans le code : <select name="nom">
<?php
$connex = mysql_connect(...); //connexion à la base
mysql_select_db('TaBayDayDay'); // :p
$datas = mysql_query('SELECT `nom`,`valeur` FROM `donnees_form`;'); // récupération des données
mysql_close($connex);
while ($data = mysql_fetch_array($datas)) {
echo '<option value="',$data['valeur'],'">',$data['nom'],'</option>';
}
?>
</select>

Où mets-je le : nom='nom' ?

Albert
 
Ben tu l'as déjà mis :

Bloc de code:
 <select [B]name="nom"[/B]>

C'est dans $_POST["nom"] que tu trouveras la valeur du select.
 
Effectivement tu as déjà le name="nom" dans ta première ligne :
Bloc de code:
<select name='nom'><?php Code ?></select>

En ce qui concerne la récupération des variables cela se fait à l'aide des variables $_GET["name"] dans ta page de retour en l'occurrence traitementxx.php, lorsque tu submit ton formulaire...

Rien de bien compliqué.
 
Effectivement tu as déjà le name="nom" dans ta première ligne :
Bloc de code:
<select name='nom'><?php Code ?></select>

En ce qui concerne la récupération des variables cela se fait à l'aide des variables $_GET["name"] dans ta page de retour en l'occurrence traitementxx.php, lorsque tu submit ton formulaire...

Rien de bien compliqué.

Merci

Il y a un truc qui m'échappe : j'avais mis avant : $nom=$data['valeur'];

$nom=$_GET["nom"] ne marche pas plus.

Il doit y avoir une faute toute bête !

Albert