Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> masowe update danych w bazie sql
-natan-
post 28.11.2005, 15:09:22
Post #1





Goście







witam
Jak wykonać masową zmiane (update) w bazie sql questionmark.gif?
w tym przypadku chodzi o pobranie wszystkich rekordów z tabeli cennik
pobranie wartosci pola $cena następnie zwiększenie wartości każdego z nich o np.
wartość $dodaj = 12;
i ponowne zapisanie (update) ich wartości w bazie sql.
poniżej kod php którym pobieram dane z tabeli.
Jeśli ktoś może pomóc będe wdzięczny za pomoc smile.gif

  1. <?php
  2.  
  3. $query = "SELECT * FROM cennik";
  4. $result = mysql_query($query);
  5. if (!$result) {
  6. fail("BLAD PRZY POBIERANIU LISTY PROCESOW Z SQL");
  7. }
  8. $threadCount = mysql_num_rows($result);
  9. $output = "threadCount=$threadCount";
  10. for ($count = 0; $count < $threadCount; $count++)
  11. {
  12. $thread = mysql_fetch_array($result);
  13. $cena = $thread['cena_biletu'];
  14. $output .= $cena;
  15. }
  16. echo $output;
  17.  
  18. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post 28.11.2005, 15:11:19
Post #2





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




  1. UPDATE cennik SET cena_biletu = cena_biletu + 12


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

"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
Vogel
post 28.11.2005, 15:12:36
Post #3





Grupa: Zarejestrowani
Postów: 402
Pomógł: 0
Dołączył: 20.01.2003

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


  1. UPDATE tabela SET cena = cena + 12 WHERE warunek...


--------------------
Go to the top of the page
+Quote Post
-natan-
post 28.11.2005, 15:48:22
Post #4





Goście







chyba cos pokrecilem
bo update robi mi owszem na każdym rekordzie ale wartośc wpisuje dokładnie taka sama dla kazdego id czyli wychodzi jaks bzdura.
a w bazie jest tak:
dla id 1 wartosc cena_biletu jest 12
dla id 2 wartosc cena_biletu jest 36
itd... i właśnie do każdej z tych wartości powinno zostać dodane 12
robie tak:
  1. <?php
  2.  
  3. $query = "SELECT * FROM cennik";
  4. $result = mysql_query($query);
  5. if (!$result) {
  6. fail("BLAD PRZY POBIERANIU LISTY PROCESOW Z SQL");
  7. }
  8. $threadCount = mysql_num_rows($result);
  9. $output = "threadCount=$threadCount";
  10. for ($count = 0; $count < $threadCount; $count++)
  11. {
  12. $thread = mysql_fetch_array($result);
  13. $cena = $thread['cena_biletu'];
  14. $output .= $cena;
  15. $output = "UPDATE newsletter set adresik = $cena+12"; 
  16. $result3 = mysql_query($output);
  17. }
  18. echo $output;
  19.  
  20. ?>
Go to the top of the page
+Quote Post
SongoQ
post 28.11.2005, 18:35:16
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Przeciez juz zostaly podane 2 odpowiedzi. Nie musisz wyciagac selectem wystarczy ze zrobisz to co podal @nospor.


--------------------
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 Wersja Lo-Fi Aktualny czas: 14.07.2025 - 10:37