Enregistrement dans deux tables

Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - Modifié par Sinistrus le 19/08/2013 à 10:53
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 19 août 2013 à 10:50
Bonjour à tous !

Alors j'essaie d'enregistrer dans deux tables identiques (sauf le nom lui même) des données. Avec ce code :
<?php
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); mysql_select_db(MYSQL_BASE,$db);
if (isset($_POST["action"]) && $_POST["action"] == "send"){
 
// Récupération des valeurs
$Date = $_POST["Date"];
$Dossier = $_POST["Dossier"];
$Titre = $_POST["Titre"];
$Titre2 = $_POST["Titre"];
$Descriptions = $_POST["Descriptions"];
$Descriptions2 = $_POST["Descriptions"];

$Date = addslashes($Date);
$Dossier = addslashes($Dossier);
$Titre = addslashes($Titre);
$Titre2 = addslashes($Titre2);
$Descriptions = addslashes($Descriptions);
$Descriptions2 = addslashes($Descriptions2);

if(empty($Date))  {$_GET["msg"] = urlencode("Champ Date");}else{
if(empty($Dossier)) {$_GET["msg"] = urlencode("Champ Dossier");}else{
if(empty($Titre)) {$_GET["msg"] = urlencode("Champ Titre Français");}else{
if(empty($Titre2)) {$_GET["msg"] = urlencode("Champ Titre Anglais");}else{
if(empty($Descriptions)) {$_GET["msg"] = urlencode("Champ Descriptions Français");}else{
if(empty($Descriptions2)) {$_GET["msg"] = urlencode("Champ Descriptions Anglais");}else{

mysql_query("SET NAMES UTF8");


// Enregistrement dans la base
$sql = "INSERT INTO tb_evenements_fr (Date, Titre, Dossier, Descriptions) VALUES ('".$Date."', '".$Titre."', '".$Dossier."', '".$Descriptions."')";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$sql = "INSERT INTO tb_evenements_en (Date, Titre, Dossier, Descriptions) VALUES ('".$Date."', '".$Titre2."', '".$Dossier."', '".$Descriptions2."')";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

exit();
}}}}}}}

?>
Il confirme l'envoie du poste mais n'enregistre que dans la seconde table ce qui devrait être dans la première.

Avez-vous une idée svp ?
A voir également:

1 réponse

Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
Modifié par Sinistrus le 19/08/2013 à 11:05
Structure des tables:
CREATE TABLE IF NOT EXISTS 'tb_evenements_fr' (
  'NumId' int(11) NOT NULL AUTO_INCREMENT,
  'Date' date NOT NULL,
  'Titre' varchar(250) NOT NULL,
  'Dossier' varchar(250) NOT NULL,
  'Descriptions' text NOT NULL,
  PRIMARY KEY ('NumId')
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS 'tb_evenements_en' (
  'NumId' int(11) NOT NULL AUTO_INCREMENT,
  'Date' date NOT NULL,
  'Titre' varchar(250) NOT NULL,
  'Dossier' varchar(250) NOT NULL,
  'Descriptions' text NOT NULL,
  PRIMARY KEY ('NumId')
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;


Cependant, si je modifie le champ de la table _en :
$Titre2 = $_POST["Titre2"];
$Descriptions2 = $_POST["Descriptions2"];

$sql = "INSERT INTO tb_evenements_en (Date, Titre2, Dossier, Descriptions2) VALUES ('".$Date."', '".$Titre2."', '".$Dossier."', '".$Descriptions2."')";
là il fonctionne, sauf que je suis obligé de modifier le champs de ma table... comment je peux garder le même nom des champs ?
0