Formulaire/ stockage des infos
Résolu/Fermé
pontarose
Messages postés
150
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
23 avril 2010
-
10 août 2007 à 15:28
pontarose Messages postés 150 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 23 avril 2010 - 14 août 2007 à 09:32
pontarose Messages postés 150 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 23 avril 2010 - 14 août 2007 à 09:32
A voir également:
- Formulaire/ stockage des infos
- Stockage google - Guide
- Espace de stockage gmail plein - Guide
- Stockage du téléphone - Guide
- Stockage en ligne gratuit 1to - Télécharger - Stockage
- Formulaire de réclamation facebook - Guide
2 réponses
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
10 août 2007 à 21:00
10 août 2007 à 21:00
Salut,
Ca dépend des langages utilisés mais sinon ce sont des opérations de base donc oui c'est tout à fait faisable.
Tu as un formulaire, c'est très bien. Dans ce formulaire tu définis la propriété "action" avec le nom d'un script srveur (par exemple recherche_ou_ajout.php). Et dans ce fichier tu récupères la donnée envoyée par le formulaire : Si la "method" (c'est le nom de l'attribut) du formulaire était "get" tu fais $element = $_GET['id_du_champ']. (enfin ça dépend du langage utilisé).
Ensuite tu fais la requête vers la base de données au moyen des fonctions fournies par le langage (par exemple mysql_query('select * from matable where element=\'$element\'');). Si le nombre de lignes retourné par la requête est supérieur ou égal à 1, la valeur existe. Sinon (0) la valeur n'existe pas et il te suffira de générer le code HTML avec un formulaire d'ajout.
Encore une fois ça dépend du langage, il faut réaliser les connexions vers la base de données et connaître quand même ce langage mais ça on ne pourra pas le faire à ta place.
Voilà bon courage !
Ca dépend des langages utilisés mais sinon ce sont des opérations de base donc oui c'est tout à fait faisable.
Tu as un formulaire, c'est très bien. Dans ce formulaire tu définis la propriété "action" avec le nom d'un script srveur (par exemple recherche_ou_ajout.php). Et dans ce fichier tu récupères la donnée envoyée par le formulaire : Si la "method" (c'est le nom de l'attribut) du formulaire était "get" tu fais $element = $_GET['id_du_champ']. (enfin ça dépend du langage utilisé).
Ensuite tu fais la requête vers la base de données au moyen des fonctions fournies par le langage (par exemple mysql_query('select * from matable where element=\'$element\'');). Si le nombre de lignes retourné par la requête est supérieur ou égal à 1, la valeur existe. Sinon (0) la valeur n'existe pas et il te suffira de générer le code HTML avec un formulaire d'ajout.
Encore une fois ça dépend du langage, il faut réaliser les connexions vers la base de données et connaître quand même ce langage mais ça on ne pourra pas le faire à ta place.
Voilà bon courage !
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
13 août 2007 à 19:57
13 août 2007 à 19:57
Yop !
Ah ben en fait PHP fait office d'interface pour stocker les données en base de données. MySQL seul ne te permettra pas d'interagir avec un formulaire, par contre je n'ai jamais touché à Perl.
Tu as bien saisi l'idée que j'ai transcrite mais je constate une petite erreur dans ton code :
if($res=0)
Si tu fais ça, ça veut dire que tu affectes la valeur 0 à ta variable $res. A mon sens, le signe de comparaison pour une égalité est == (un double égal). Par contre si tu veux réellement être propre, ne fais pas un deuxième if qui dépend du premier mais mets plutôt une condition de type "sinon" :
Pour ce qui est de récupérer les valeurs des champs de ta requête select (quand tu fais $req = mysql_query($sql)) il suffit d'utiliser la fonction mysql_fetch_array($req) qui prend en argument la variable qui contient le résultat de l'exécution de ta requête. A chaque rappel, c'est le tuple suivant qui va être traité (à mettre donc dans une boucle).
Ah ben en fait PHP fait office d'interface pour stocker les données en base de données. MySQL seul ne te permettra pas d'interagir avec un formulaire, par contre je n'ai jamais touché à Perl.
Tu as bien saisi l'idée que j'ai transcrite mais je constate une petite erreur dans ton code :
if($res=0)
Si tu fais ça, ça veut dire que tu affectes la valeur 0 à ta variable $res. A mon sens, le signe de comparaison pour une égalité est == (un double égal). Par contre si tu veux réellement être propre, ne fais pas un deuxième if qui dépend du premier mais mets plutôt une condition de type "sinon" :
if($res >= 1) ... else // Ici c'est certain que $res sera plus petit que 1. ..
Pour ce qui est de récupérer les valeurs des champs de ta requête select (quand tu fais $req = mysql_query($sql)) il suffit d'utiliser la fonction mysql_fetch_array($req) qui prend en argument la variable qui contient le résultat de l'exécution de ta requête. A chaque rappel, c'est le tuple suivant qui va être traité (à mettre donc dans une boucle).
pontarose
Messages postés
150
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
23 avril 2010
2
14 août 2007 à 09:32
14 août 2007 à 09:32
Merci beaucoup
13 août 2007 à 13:22
Merci de ta réponse...mais il y a certain point que je ne comprend pas et du coup j'ai quelques autres questions...
Je travaille sous unix, langage perl, SGBD MySQL et serveur Apache.
_Pour enregistrer les résultats d'un formulaire faut-il obligatoirement utiliser un script PHP? ne peut-on pas utiliser MySQL?
_ Dans mon script ajout.php :
1/ je récupère les donnée envoyée par le formulaire
2/je me connecte a ma base de donnée
3/je fais la requête vers cette base de données.
Ce que je veux c'est que si le si le complexe existe déjà alors on affiche les données correspondant a celui-ci; sinon l'utilisateur crée le complexe (en remplissant le formulaire) et les données associés a celui-ci. Une fois qu'il clique sur le bouton save ces données sont enregistrés. Ces données tapés sont désormais présente dans ma base de donnée.
#Si le nombre de lignes retourné par la requête est supérieur ou égal à 1, la valeur existe. Je veux l'affichage de ces éléments
#on regarde dans la table Complex de ma base de donnée base de donnée si le complexe existe déjà
$sql = "SELECT id FROM complex WHERE complex='$complex'";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());#j'insère les infos du formulaire dans ma base de donnée
$res= mysql_num_rows($req);
if($res>= 1) // le complexe existe déjà, on affiche les données correspondant
{
<table border>
<tr> <th> complex_names </th> <th> subunit_number<th> subunit_name </th> <th <th> description </th> </th> </tr>
<tr> <td>… </td><td>… </td> </tr>
...ainsi de suite pour chaque nouvelle ligne...
</table>
echo 'AFFICHAGE DU TABLEAU ';#j'affiche les données correspondant au complexe
}
#Si le nombre de lignes retourné par la requête est de 0.Je veux que l'utilisateur puisse entrer les données correspondant a chaque champ et que celle-ci puisse être sauvegarder dans ma base de donnée (dans deux tables différentes).
if($res=0)
{
$sql = "INSERT INTO subunit (subunit-id,subunit-description ,subunit-name, subunit-number) VALUES('','$subunit-description' ,'$subunit-name', '$subunit-number')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on récupère le subunit-id qui vient d'être généré
$subunit-id = mysql_insert_id();
// ci-dessous on insère les infos dans complex
$sql = "INSERT INTO complex (id, complex_name) VALUES('','$complex_name')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
echo 'Vos infos on été sauvegardés.'; #on affiche le résultat pour l'utilisateur
mysql_close($db); // on ferme la connexion
?>
}