Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Najpierw sortuj, potem update
Forum PHP.pl > Forum > Przedszkole
maciasgta
  1.  
  2. $zapytanie = mysql_query("SELECT poziom FROM trenerzy ORDER BY id_druzyna DESC");
  3. $rek = mysql_fetch_array($zapytanie);
  4.  
  5. $losowanie = $rek['poziom'];
  6. if($losowanie == 1)
  7. {
  8. mysql_query ("UPDATE juniorzy SET poziom=poziom+1 WHERE poziom<=3 AND ORDER BY id_druzyna DESC");
  9. }else{
  10. mysql_query ("UPDATE juniorzy SET poziom=poziom+0 WHERE poziom<=3 ORDER BY id_druzyna DESC");
  11. }
  12.  


Witam, sprawa wygląda następująco w tabeli trenerzy mam wielu trenerów, teraz muszę ich posortować według id_druzyna, następnie skrypt ma zrobić UPDATE w tabeli juniorzy ale tylko dla tych drużyn w których poziom trenera == 1.

Co robię źle?
[php][/php]
Suh
Brakuje Ci pętli. W twoim skrypcie odnosisz się tylko do pierwszego zwróconego rekordu.
Proponuje tak :
  1. while($rek = mysql_fetch_assoc($zapytanie))
  2. {
  3. //$losowanie... i reszte kodu wklej tu do petli
  4. }
maciasgta
Hm... Niestety ciągle jest tak samo, tzn. robi UPDATE wszystkich rekordów w bazie juniorzy.

To ja jeszcze raz wytłumacze, skrypt najpierw ma przesortować tabele trenerzy, według id_druzyny np. malejąco. I teraz wyciąga z tabeli trenerzy pole poziom. Nastepnie przechodzimy do tabeli juniorzy, tą również ma przesrtować według id_druzyny malejąco i teraz : jeżeli poziom trenera == 1 to w tabeli juniorzy dla id_druzyny np.1 ma dodać temu juniorowi 1 punkt.



Teraz jest tak, że dodaje wszystkim juniorą +1, wszystkim id_druzyny zamiast tylko tym których id_druzyny = np.1
jmail
Tak zdaje się będzie szybciej bez zbędnej pętli winksmiley.jpg

  1. $zapytanie = mysql_query("
  2. update
  3. trenrzey t, juniorzy j
  4. set
  5. j.poziom = j.poziom + 1
  6. where
  7. j.id_druzyna = t.id_truzyna
  8. and
  9. t.poziom = 1;
  10. ");
  11.  
maciasgta
To zapytanie co przesłałeś również nie działa.

Panowie, pomóżcie mi tylko, aby przed UPDATE tabela juniorzy się przesortowała według id_druzyny malejąco i będę wam bardzo wdzięczny.

Pozdrawiam
jmail
a zauważyłeś ze mi się literówka wkradła a nawet dwie? jak nie to ją znajdź i popraw. zapytanie MUSI działać.
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.