1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| while ($xml = $file->read()) { // lecture d'un xml pour récuperer les bloc produits (20 000)
//récupération de l'id vendeur si il existe
$req= $db->prepare("SELECT id FROM `vendeur` WHERE ref = :ref");
$req->execute(array(':ref' => $db->quote($node->ref)));
$userid = $req->fetch(PDO::FETCH_ASSOC);
try{
$db->beginTransaction();
$db->exec( "INSERT INTO `produits` (TOUTS LES ELEMENTS PRODUITS ) VALUES ('".$db->quote(TOUTES LES VALEURS)."')");
//l'id pour les insert suivant
$produit = $db->lastInsertId();
$db->exec( "INSERT INTO `region` (`produitid`, `zone`, `ville`, `expo`) VALUES ( ".$db->quote($produit).", '".$db->quote($node->zone)."', '".$db->quote($node->ville)."', '".$db->quote($node->expo)."')");
$db->exec( "INSERT INTO `photo` (`produitid`, `nom`, `url`, `visible`) VALUES ( ".$db->quote($produit).", '".$db->quote($node->image)."', '".$db->quote($node->imgurl)."', '".$db->quote($node->visible)."')");
if(!empty($userid)){
$db->exec( "INSERT INTO `asso_prod` (`produitid`, `vendeurid`) VALUES ( ".$db->quote($produit).", ".$db->quote($userid).")");
}else{
$db->exec( "INSERT INTO `vendeur` (`nom`, `prenom`, `ref`, `email`) VALUES ( '".$db->quote($node->nom)."', '".$db->quote($node->prenom)."', '".$db->quote($node->ref)."', '".$db->quote($node->email)."')");
$last = $db->lastInsertId();
$db->exec( "INSERT INTO `asso_prod` (`produitid`, `vendeurid`) VALUES ( ".$db->quote($produit).", ".$db->quote($last).")");
}
$db->commit();
}catch(Exception $e) {
$dbh->rollBack();
echo "Failed: " . $e->getMessage();
}
} |
Partager