witam,
w pliku XML przechowuje informacje nt. ilosci produktow.
chce aktualizowac rekordy w bazie na podstawie danych z XML.
ponizszy kod dziala ale wydajnosc jest ponizej normy dry.gif
przekraczam czas wykonywania skryptu.

zauwazylem ze jeden rekord moze byc np. aktualizowany 8 razy - przy takich samych danych.
(dalem sobie do echo zapytanie mysql od update dlatego widze)

  1. <?php
  2.  
  3. $sql = mysql_connect (xxx, xxx, xxx);
  4.  
  5. $xml = simplexml_load_file('synch.php');
  6. $query = "SELECT * FROM products ORDER BY products_id";
  7. $resultID = mysql_query($query, $sql) or die("Dane nie znalezione.");
  8.  
  9.  
  10. $licznik = 0;
  11. while ($row = mysql_fetch_array ($resultID)){
  12.  
  13. foreach($xml -> produkty as $produkty){
  14. global $nazwa, $symbol, $cena, $ilosc, $status;
  15. $nazwa = $produkty -> nazwa;
  16. $symbol = $produkty -> symbol;
  17. $cena = $produkty -> cena;
  18. $ilosc = $produkty -> ilosc;
  19. $status = $produkty -> status;
  20. if ($ilosc != $row['products_quantity'])
  21. {
  22. $licznik++;
  23. mysql_query("UPDATE `products` SET `products_quantity` = '".$ilosc."' WHERE `products`.`products_symbol` ='".$symbol."' LIMIT 1 ;");
  24. echo "UPDATE `products` SET `products_quantity` = '".$ilosc."' WHERE `products`.`products_symbol` ='".$symbol."' LIMIT 1 ;<br>";
  25. }
  26. }
  27. }
  28. echo "Zaktualizowano: ".$licznik;
  29. ?>


nie wiem o co juz chodzi.

prosze o pomoc.

pozdr.