Insertion lecture base de données

Signaler
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006
-
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006
-
Bonjour,

j'ai un fichier contenant des valeurs, ainsi qu'une base de données contenant des valeurs similaire.
Je souhaite mettre à jours ma bdd en fonction de ce fichier.
MAIS
ne doivent être inséré que les données n'étant pas déjà dans la bdd comment puis je faire cela.
Je pensais qu'en faisant cette vérification avant cela fonctionnait mais non !!! il m'insère les données même si elle existe déjà !!!
Quelqu'un peut il m'aider !! par avance merci !!!

if (CODE_ELT<>"'".$CODE_ELT."'" AND CODE_GROUPE<>"'".$CODE_GROUPE."'" AND TYPE_ELT<>"'".$TYPE_ELT."'")
{ $sSQL="INSERT INTO ".$LaTableb." ( cleUnique,
NUM_GROUPE,
NUM_ELT,
CODE_GROUPE,
TYPE_ELT,
CODE_ELT,
)
VALUES ('".$cleUnique."',
'".$NUM_GROUPE."',
'".$NUM_ELT."',
'".$CODE_GROUPE."',
'".$TYPE_ELT."',
'".$CODE_ELT."'
)" ;
$result= mysql($DataBase,$sSQL );
}
echo $sSQL;

4 réponses

Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
salut
visiblement CODE_ELT , CODE_GROUPE et TYPE_ELT
ne sont pas des variables ($) et ne sont de toutes façons pas alimentées ?!
il faudrait faire un select pour les charger avant de comparer et de faire l'insert...
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

Alors j'ai essayé mais ça me fais pareil ou alors je fais une erreur !! j'en peux plus !!! voici ce que j'ai fais si jamais tu vois une erreur !!! d'avance merci !!!

$sSQL="SELECT CODE_ELT, CODE_GROUPE, TYPE_ELT from ".$LaTableb."
where CODE_ELT='".$CODE_ELT."' and CODE_GROUPE='".$CODE_GROUPE."' and TYPE_ELT='".$TYPE_ELT."'";
$result= mysql($DataBase,$sSQL );
$data = mysql_fetch_array($result);
$GROUPE=$data["CODE_GROUPE"];
$CDELEMENT=$data["CODE_ELT"];
$TYPEELEMENT=$data["TYPE_ELT"];
$entree=$data["date_entree"];
$sortie=$data["date_sortie"];

echo $sSQL;

//INSERTION DES NOUVEAU ELEMENT DU PARAMETRE

if ($GROUPE<>"'".$CODE_GROUPE."'" AND $CDELEMENT<>"'".$CODE_ELT."'" AND $TYPEELEMENT<>"'".$TYPE_ELT."'")
{ $sSQL="INSERT INTO ".$LaTableb." ( cleUnique,
NUM_GROUPE,
NUM_ELT,
CODE_GROUPE,
TYPE_ELT,
CODE_ELT
)
VALUES ('".$cleUnique."',
'".$NUM_GROUPE."',
'".$NUM_ELT."',
'".$CODE_GROUPE."',
'".$TYPE_ELT."',
'".$CODE_ELT."'
)" ;
$result= mysql($DataBase,$sSQL );
}
echo $sSQL;
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

ça y est j'ai reussi en fait c'était ma condition !!!
if ($GROUPE<>"'".$CODE_GROUPE."'" AND $CDELEMENT<>"'".$CODE_ELT."'" AND $TYPEELEMENT<>"'".$TYPE_ELT."'")

if ($GROUPE<>$CODE_GROUPE AND $CDELEMENT<>$CODE_ELT AND $TYPEELEMENT<>$TYPE_ELT)

Quel naze !!!
merci beaucoup !!
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

Bonjour,


alors maintenant j'arrive à insérer comme il faut dans ma bdd selon la condition, mais j'ai un nouveau soucis !!


Alors voilà, je souhaite pouvoir updater ma BDD en fonction des valeurs déjà existantes. Je m'explique par exemple c'estp lus simple :


1ère insertion:


GROUPE CODE TYPE ENTREE SORTIE


A comm 35001 2000 2999


A comm 35002 2000 2999

Jusque là nickel !!

Ensuite, je reçois un nouveau fichier (en 2005) dans lequel le TYPE 35002 n'est plus présent, je souhaite donc mettre à jours la BDD de la façon suivante :


GROUPE CODE TYPE ENTREE SORTIE


A comm 35001 2000 2999


A comm 35002 2000 2005

J'ai essayé avec la même methode un select puis un update mais ce qui m'embête est que le TYPE 35002 n'apparait pas dans mon fichier 2005 !!!
Comment puis-je faire cela !!!
merci d'avance