Insertion lecture base de données

fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006 - 6 janv. 2006 à 17:10
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006 - 9 janv. 2006 à 10:53
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

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
6 janv. 2006 à 17:36
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...
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
6 janv. 2006 à 17:56
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;
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
6 janv. 2006 à 18:01
ç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 !!
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
9 janv. 2006 à 10:53
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
0
Rejoignez-nous