Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql][php] UPDATE wielu rekordow roznymi wartosciami
Forum PHP.pl > Forum > Przedszkole
Lombi
Napisałem tak:

  1. $zapytanie = "SELECT * FROM podmenu WHERE podmenu = '$dzial_usuwany' AND kolejnosc > '$wartosc_usuwana'";
  2. $wynik = mysql_query ($zapytanie) OR die (mysql_error());
  3.  
  4. while ($wiersz = mysql_fetch_array ($wynik))
  5. {
  6. $wartosc_wyzsza = "{$wiersz["kolejnosc"]}";
  7. $odejmij = $wartosc_wyzsza-1;
  8. }
  9.  
  10. mysql_query ("UPDATE podmenu SET kolejnosc = '$odejmij' WHERE podmenu = '$dzial_usuwany' AND kolejnosc > '$wartosc_usuwana'");
  11. mysql_close ($db);


i owszem zmienia mi wszystkie rzadane rekordy, ale zmienia je na jedna wartosc a chce zeby od kazdego odjol jeden i nadpisal! Jak dam:

  1. <?php
  2. echo "$odejmij";
  3. ?>


to pokazuje prawidlowe wartosci a UPDATE upiera sie do pierwszej z wyswietlanych przez echo i zmienia wszystkie na ta wartosc!
Co tu poprawic questionmark.gif?
Cienki1980
Jak dla mnie mysql_query("update ...."); powinno być wewnątrz pętli while zaraz po tym jak $odejmij=wartosc-1;
Lombi
hehe jest! W zlym miejscu napisalem "}"! Lecz to i tak nie dziala! sad.gif
Cienki1980
No to zamiast wykonywać mysql_query(); wyswietl samo zapytanie. Zobaczysz czy zapytanie tworzy się w taki sposób jak chcesz. Może tak wyłapiesz błąd.
nospor
a nie lepiej tego calego kodu zastapic jedna linijka?
  1. <?php
  2. mysql_query ("UPDATE podmenu SET kolejnosc = kolejnosc-1 WHERE podmenu = '$dzial_usuwany' AND kolejnosc > '$wartosc_usuwana'") or die(mysql_error());
  3. ?>

i juz
Lombi
Lepiej Nospor! Tyle ze to robi dokladnie tak samo zle jak i moja dluzsza wersja.

Ach kiedyś zabiją mnie literówki! Wszystko dziala idealnie!.
DZIEKI PANOWIE exclamation.gif!
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.