INSERT et UPDATE d'un flux xml en BDD
Posté : 23 juin 2009, 18:36
Bonjour,
Je suis bloqué sur un problème qui doit être tout bête mais que je n'arrive pas à résoudre.
Je récupère un flux xml d'un marchand que j'insère en bdd, j'arrive à l'insérer mais je voudrais que lorsque je telecharge mon flux tous les jours, je puisse vérifier si il y a des ajouts et les rajouter, si il y a des modifications faire un UPDATE des données, et si des données sont supprimées faire un DELETE des données en base.
Voici mon code
D'avance merci
Je suis bloqué sur un problème qui doit être tout bête mais que je n'arrive pas à résoudre.
Je récupère un flux xml d'un marchand que j'insère en bdd, j'arrive à l'insérer mais je voudrais que lorsque je telecharge mon flux tous les jours, je puisse vérifier si il y a des ajouts et les rajouter, si il y a des modifications faire un UPDATE des données, et si des données sont supprimées faire un DELETE des données en base.
Voici mon code
<?php
mysql_connect("serveur", "username", "mdp"); // Connexion à MySQL
mysql_select_db("bdd"); // Sélection de la base
$file = @fopen("http://www.adresseduflux.com/flux.xml", "r");
if (!$file) { echo "Impossible de lire la page.\n";
exit;
}
// On ouvre le fichier
$xml = simplexml_load_file('http://www.adresseduflux.com/flux.xml');
foreach ($xml->noeud1 as $noeud1) {
$champ1 = mysql_real_escape_string(htmlspecialchars(addslashes($noeud1['nom'])));
foreach ($noeud2->noeud3 as $noeud3) {
$champ2 = mysql_real_escape_string(htmlspecialchars(addslashes($noeud3['lib'])));
$champ3 = mysql_real_escape_string(htmlspecialchars(addslashes($noeud3['date'])));
$champ4 = mysql_real_escape_string(htmlspecialchars(addslashes($noeud3['type'])));
foreach ($noeud3->noeud4 as $noeud4) {
$champ5= mysql_real_escape_string(htmlspecialchars(addslashes($noeud4['prod'])));
$requete = "INSERT INTO matable SET Champ1='".$champ1."', Champ2='".$champ2."', Champ3='".$champ3."', Champ4='".$champ4."', Champ5='".$champ5."'";
$resultat = mysql_query ($requete) or die(mysql_error());
}
}
}
fclose($file);
mysql_close();
?>
Comment dois-je faire pour faire les vérifsD'avance merci