Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: masowe update danych w bazie sql
Forum PHP.pl > Forum > Przedszkole
natan
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. ?>
nospor
  1. UPDATE cennik SET cena_biletu = cena_biletu + 12
Vogel
  1. UPDATE tabela SET cena = cena + 12 WHERE warunek...
natan
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. ?>
SongoQ
Przeciez juz zostaly podane 2 odpowiedzi. Nie musisz wyciagac selectem wystarczy ze zrobisz to co podal @nospor.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.