Bonjour, j'ai réalisé un scripts qui compare une base en SQL et la table correspondante en xml. Ensuite, il supprimme de la table SQL les entrées qui ne sont pas dans la base xml.

Avec plus de 3000 produits dans les tables, Ce code fonctionne mais est bien trop lourd !

Comment puis-je l'optimiser ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
//selection de tous les produits de la table SQL
$exist_query = mysql_query(" SELECT * from products ");
while($tableau = mysql_fetch_array($exist_query ))
{
$exist = 0;
//selection de tous les produits de la table XML
	foreach($xml->Data->Exportation_XML->Ligne_XML as $name){
//Comparaison 	
		if ($name->GA_ARTICLE == $tableau['products_id']){$exist = 1;}
	}
	if ($exist == 0){mysql_query("DELETE FROM products WHERE products_id= '".$tableau['products_id']."'")or die('Impossible de se connecter : ' . mysql_error());} 
}
Merci