![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam dwie następujące tabele: turnieje_zapisy (pola: nazwa_turnieju,zawodnik) oraz turnieje_pary (pola: nazwa_turnieju,gracz1,gracz2). Ogólnie chodzi o to, że do tabeli turnieje_zapisy zapisywane są nazwiska ludzi jedno pod drugim, którzy chcą wziąć udział w turnieju, w tabeli turnieje_pary wylosowane do gry. Dobór w pary wygląda tak, że sprawdzam, ile zapisanych jest w turnieje_zapisy, i pierwszą połowę zapisanych przenoszę do turnieje_pary (gracz1) za pomocą INSERT INTO ... . Drugą połówę chciałbym UPDATE'ować do kolumny gracz2. Problem jest w tym, że UPDATE mi źle działa, a konkretnie LIMIT - jeśli np. pętla biegnie od 8 do 4, to zamiast UPDATE'ować rekordy z kolejnymi wartościami LIMIT $i,1, on leci jak przez sito, po czym 4 razy UPDATE'uje ten sam rekord, w tym przypadku ten, który jest pod LIMIT 4,1. Tak jakby w kolejnych przebiegach pętli $i wcale nie było zmniejszane wewnątrz zapytania.
Proszę o podpowiedź Z góry dziękuję |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%) ![]() ![]() |
qrzysztof, po pierwsze jeśli będzie nieparzysta liczba, to ktoś nie będzie miał pary do gry i zazwyczaj na turniejach tenisowych daje mu się 'dziką kartę' i jego nieistniejącego 'wirtualnego' rywala właśnie się kreskuje. Ok, jak skrypt będzie działał, to zrobię jak mówisz.
Po drugie, na końcu nie powinno być $i.",1, bo to jest polecenie UPDATE. A w tym poleceniu nie można używać LIMIT z dwoma parametrami, bo będzie błąd składni. http://dev.mysql.com/doc/refman/5.0/en/update.html hondek, właśnie nie bardzo mam pomysł, jak taką funkcję napisać. (IMG:style_emoticons/default/wink.gif) bezpośrednio w bazie jest teoretycznie łatwiej. Ten post edytował jg44 28.11.2011, 18:24:16 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 04:21 |