Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] długotrwały update
motor
post
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

Ostrzeżenie: (0%)
-----


Witam chcę zaktualizować ok 8 000 produktów , wsad produktów to kilka sekund a jeśli chcę to zrobić poprzez
  1. <?php
  2. $query = "UPDATE
  3. ?>


Trwa to i trwa serwer lokalny się zapycha i wolno chodzi jak by coś w pamięci siedziało , czy jest jakieś rozwiązanie co robię źle
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
nevt
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


no to pokaż co robisz. skąd mamy wiedzieć czy robisz dobrze czy źle, jak nie pokazałeś kodu? pokaż pełen kod tego tego UPDATE i pokaż strukturę tabeli na której go wykonujesz (SHOW CREATE TABLE ...)


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
motor
post
Post #3





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

Ostrzeżenie: (0%)
-----


Jasna sprawa , chcę zrobić update z pliku xml tego co mam w bazie

  1. <?php
  2. $katalog = simplexml_load_file('../plik.xml');
  3.  
  4.        foreach($katalog->producenci->producent as $key => $value){    
  5.  
  6.    $nazwa_prod= "" . $value['nazwa'] ."";
  7.    $id_prod= "" . $value['id'] ."";
  8.    
  9. $nazwa_prod_gut="\"$nazwa_prod\",";
  10. $id_prod_gut="\"$id_prod\",";
  11.  
  12.    
  13.    }
  14.  
  15.  
  16. $katalog->encoding="iso-8859-2";
  17.  
  18. foreach($katalog->produkty->produkt as $key=>$produkt){  
  19. $waga_do_wsadzenia="";
  20. $opis="";
  21. $fotka="";
  22.  
  23.  
  24. foreach($produkt->technika->parametr as $parametr){
  25. //$opis.=  '<b>'. $parametr[nazwa].':</b> ' . $parametr[opis].'<br>' ;
  26. $opis.=  ''. $parametr[nazwa].': ' . $parametr[opis].' '.$parametr[jm].'<br>' ;
  27. //$opis.=  ''. $parametr[nazwa].': ' . $parametr[opis].'<br>' ;
  28.  
  29. $opsproduktu=  ''. $parametr[nazwa].'' ;
  30.  
  31. }
  32.  
  33. ///////////////////////////////////////////////////////////////////////////////
  34. foreach($produkt->zdjecia->zdjecie as $zdjecie){
  35.  
  36. $fotka.=  ''. $zdjecie[plik].', ' ;
  37. }
  38.  $c++;
  39.  
  40. $arr= (explode(', ', $fotka, -1));
  41.  
  42.  
  43. $data_akt=date('Y-m-d');
  44.  
  45.      $aktualicacja ="UPDATE wsad_xmll SET data='$data_akt'  WHERE idproduktu='$dattt'";
  46.      if (!mysql_query ($aktualicacja, $link) )
  47.                {    
  48.                die (mysql_error());
  49.                }    
  50.  
  51.                    
  52. }
  53. ?>
Go to the top of the page
+Quote Post
MWL
post
Post #4





Grupa: Zarejestrowani
Postów: 493
Pomógł: 32
Dołączył: 14.04.2008
Skąd: Lenkowski.net

Ostrzeżenie: (0%)
-----


Moze warto po każdym dodaniu dodać kropkę (echo) i sprawdzić czy ona działa w ogóle.


--------------------
Wpadaj na mój kanał o PHP. Dużo mięsa 🥩!
Go to the top of the page
+Quote Post
motor
post
Post #5





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

Ostrzeżenie: (0%)
-----


skrypt działać działa
nie bardzo rozumiem o co chodzi z ta kropką ?
Go to the top of the page
+Quote Post
-ns-
post
Post #6





Goście







Kropka przed = pozwala na przypisanie kilku danych dla tej samej zmiennej!

$text = 'Siema adam';
$text .= ', jutro ide na piwo';

echo $text;

wynik:
Siema adam, jutro ide na piwo, w przypadku braku kropki dla drugiej zmiennej dostałbyś wynik: , jutro ide na piwo

Prosta rzecz a bardzo przydatna, w szczególności dla obsługi błędów
Go to the top of the page
+Quote Post
motor
post
Post #7





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

Ostrzeżenie: (0%)
-----


A widzę że działa bo przez phpmyadmin w bazie dodają ssie wpisy , tylk oze trwa to strasznie długu i zadnienie nie wykonuje się do końca , przy okazji zawiesza serwer , bo potem go muli murze dać restart
coś jakby się zapętlało i zajmowało pamięć , zrobiłem inny skrypt i mam ten sam problem co robię źle ?


  1. <?php
  2. $aktualnadata = date('Y-m-d');
  3.  
  4. $result2 = mysql_query("SELECT * FROM wsad_xmll ");
  5. while ($row2 = mysql_fetch_array ($result2) )
  6.            {
  7.            print"$row2[idproduktu]";
  8.            
  9.            
  10. $calquery = "UPDATE wsad_xml SET data = '$aktualnadata'  WHERE idproduktu='$row2[idproduktu]'";
  11. if (!mysql_query ($calquery, $link) )
  12.             {    
  13.             die (mysql_error());
  14.              }    
  15.            
  16.            
  17.            
  18.             }
  19. ?>


Ten post edytował motor 24.11.2008, 15:51:48
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




wykonujesz mase zapytan w petli to sie muli. To da sie szybo zrobic jednym zapytaniem:
  1. <?php
  2. $aktualnadata = date('Y-m-d');
  3.  
  4. $calquery = "UPDATE wsad_xml x1,wsad_xmll x2 SET x1.data = '$aktualnadata' where x1.idproduktu = x2.idproduktu";
  5. if (!mysql_query ($calquery, $link) )
  6.           {    
  7.           die (mysql_error());
  8.            }
  9. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
motor
post
Post #9





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

Ostrzeżenie: (0%)
-----


Czyli jeśli chcę nadpisać dane z jednej bazy do 2

  1. <?php
  2. $aktualnadata = date('Y-m-d');
  3.  
  4. $calquery = "UPDATE wsad_xml x1,wsad_xmll x2 SET x1.cena = 'x2.cena' where x1.idproduktu = x2.idproduktu";
  5. if (!mysql_query ($calquery, $link) )
  6.          {    
  7.          die (mysql_error());
  8.           }
  9. ?>



questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?

Ten post edytował motor 24.11.2008, 16:10:07
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No przeciez tak napisalem....
A jesli ci nie dziala to napisz ze nie dziala (i czym sie objawia) a nie ponawiasz pytanie na ktore padla juz odpowiedź

edit
nie: x1.cena = 'x2.cena'
a: x1.cena = x2.cena

kopiuj z glową a nie bezmyslnie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 12:14