Enregistrer formulaires dans 2 tables mysql - PHP - Programmation
Marsh Posté le 30-04-2012 à 13:13:30
Bien sûr que c'est possible, suffit de faire un premier enregistrement dans la table 1 en ne prenant que les infos du formulaire pour cette table puis faire un autre enregistrement dans la table 2 en prenant les infos utiles pour cet enregistrement...
Marsh Posté le 30-04-2012 à 13:58:05
Merci pour ta réponse.
Donc si je fais comme ça:
$sql="INSERT INTO appels(id, num_appelant, date_appel, heure_appel, media, nom_demandeur, batiment, systemes, service, local, type_inter, tps_inter_souhaite, objet_appel, commentaires)
VALUES ('','$num_appelant','$date_appel','$heure_appel','$media','$nom_demandeur','$batiment','$systemes','$service','$local','$type_inter','$tps_inter_souhaite','$objet_appel','$commentaires')";
$res=mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
$sql="INSERT INTO calendrier(id, date_appel, heure_appel, media, nom_demandeur, type_inter)
VALUES ('','$date','$heure_debut','$media','$nom_demandeur','$type_inter')";
$res=mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
Cela peut fonctionner ou il faut quand même que je même une autre valeur pour le $sql et le $res?
Marsh Posté le 01-05-2012 à 13:55:21
Non, c'est bon comme ça.
Marsh Posté le 01-05-2012 à 14:09:08
Ok merci bon ba je vais tester tout cela alors.
Merci pour ton aide
Marsh Posté le 30-04-2012 à 12:16:21
Bonjour à tous,
Je souhaite utiliser un formulaire pour enregistrer des infos dans 2 tables différentes. A l'heure actuelle j'ai un page php nommée traitement.php (appelée lors du clique sur "envoyé" ) par la page php qui contient le formulaire) qui me sert à enregistrer mes données dans une des 2 tables mais je voudrais savoir s'il est possible de l'utiliser pour enregistrer dans 2 tables différentes à la fois? la 2 tables reprends juste quelques données de la première et me sert pour un calendrier (jquery-week-calendar)
Voici le code de la page traitement.php
<?php
// Connexion à la base de donnée pour WAMP
$host = "localhost";
$user = "root";
$passwd = "";
$database = "gestspie";
$link = @mysql_connect($host, $user,$passwd);
if(!$link){
die('Erreur de connexion au serveur');
}
$select_db = @mysql_select_db($database);
if(!$select_db){
die('Erreur de connexion à la base');
}
// Connexion à la base de donnée
// $base = mysql_connect ('serveur', 'login', 'pass');
//mysql_select_db ('ma_base', $base) ;
// Déclaration des variables
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Enregistrement reussi.";
$message = $msg_erreur;
// Enregistrement des champs non remplis
// Utilisation la fonction PHP empty() qui retourne:
// -> "vrai" si la variable passée en paramètre est vide
// -> "faux" dans le cas contraire.
if (empty($_POST['num_appelant']))
$message .= "Le Numéro de l'appelant<br/>";
// Si le contenu de la variable $message et plus grand que celui de la variable $msg_erreur,
// c'est que nous venons d'ajouter des champs non remplis donc on affiche un message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
}
// Si les champs sont bien remplis, on peut insérer leurs valeurs dans la base de données MySQL.
// Utilisation de mysql_real_escape_string() qui protège les données avant insertion et notamment
// les apostrophes, guillemets, etc... pour protéger des attaques par injection SQL.
// La boucle foreach() va passer toutes la variables $_POST envoyées par le formulaire en revue.
// Pour chacune d'elle nous allons créer une variable spécifique avec $$index, nettoyer sa valeur avec trim()
// (en enlevant notamment les espaces de fin) et sécuriser sa valeur avec mysql_real_escape_string().
else{
foreach($_POST as $index => $valeur){
$index = mysql_real_escape_string(trim($valeur));
}
// Insérer les données dans la table "appels" avec une requête sql de type "INSERT" et la fonction mysql_query().
// Vérification que la requête s'est bien effectuée avec la valeur de retour $res
// Si c'est le cas, on affiche $msg_ok, sinon on affiche l'erreur qui a eu lieu dans MySQL
// Le premier "" dans values correspont dans la table à l'ID qui est automatiquement incrémenté
$sql="INSERT INTO appels(id, num_appelant, date_appel, heure_appel, media, nom_demandeur, batiment, systemes, service, local, type_inter, tps_inter_souhaite, objet_appel, commentaires)
VALUES ('','$num_appelant','$date_appel','$heure_appel','$media','$nom_demandeur','$batiment','$systemes','$service','$local','$type_inter','$tps_inter_souhaite','$objet_appel','$commentaires')";
$res=mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
}
?>
Est-ce qu'il possible de modifier ce code pour enregistrer mon formulaire comme je veux le faire?
merci d'avance
maxredphenix