Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql][php] UPDATE wielu rekordow roznymi wartosciami
Lombi
post
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 11
Dołączył: 12.04.2006

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


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?


--------------------
znowu pomyliłem dwukropek ze średnikiem i starciłem pół dnia na szukanie błędu :)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Jak dla mnie mysql_query("update ...."); powinno być wewnątrz pętli while zaraz po tym jak $odejmij=wartosc-1;


--------------------
404
Go to the top of the page
+Quote Post
Lombi
post
Post #3





Grupa: Zarejestrowani
Postów: 237
Pomógł: 11
Dołączył: 12.04.2006

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


hehe jest! W zlym miejscu napisalem "}"! Lecz to i tak nie dziala! sad.gif

Ten post edytował Lombi 6.02.2007, 20:06:09


--------------------
znowu pomyliłem dwukropek ze średnikiem i starciłem pół dnia na szukanie błędu :)
Go to the top of the page
+Quote Post
Cienki1980
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


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.


--------------------
404
Go to the top of the page
+Quote Post
nospor
post
Post #5





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




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


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

"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
Lombi
post
Post #6





Grupa: Zarejestrowani
Postów: 237
Pomógł: 11
Dołączył: 12.04.2006

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


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!

Ten post edytował Lombi 6.02.2007, 20:39:23


--------------------
znowu pomyliłem dwukropek ze średnikiem i starciłem pół dnia na szukanie błędu :)
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 - 08:58