Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] pobieranie pozycji rekordu
Forum PHP.pl > Forum > Przedszkole
zdzichu
Witajcie.
Poszukuję sposobu, by pobrać numer pozycji rekordu przy zadanym sortowaniu. Znalazłem wpis nospora na ten temat, przerobiłem zapytanie, które w konsoli działa (tzn. dokładniej rzecz biorąc to nie w konsoli, a w narzędziu do wykonywania zapytań: Sequel Pro ) - ale to w sumie mniej istotne.
Wracając do problemu: zapytanie w konsoli działa, daje poprawny rezultat, natomiast przez mysql_query() nie działa.

zapytanie:
  1. SET @id=2,@nr = 0, @idnr = 0; SELECT @idnr AS id,points,goals FROM (SELECT @nr:=@nr+1,IF(ID=@id, @idnr := @nr,@idnr=@idnr),ID,points,goals FROM TABLE ORDER BY points DESC, goals DESC) podsel WHERE podsel.ID = @id;


błąd:
Kod
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; select @idnr as id,points,goals from (SELECT @nr:=@nr+1,if(ID=@id, @idnr := @n' at line 1

czym to może być spowodowane?
z góry dzięki za odpowiedzi
skowron-line
http://forum.php.pl/index.php?showtopic=130743&hl=
To powinno Ci pomóc.
zdzichu
wiesz co... czytam patrze, kombinuje - i jakos niewiele mi to daje... nie używam przecież case when, tylko właśnie ifa... możesz bardziej naświetlić o co chodiz?
skowron-line
Cytat(zdzichu @ 13.10.2009, 20:06:35 ) *
wiesz co... czytam patrze, kombinuje - i jakos niewiele mi to daje... nie używam przecież case when, tylko właśnie ifa... możesz bardziej naświetlić o co chodiz?

Głownie chodzi o zapis
Wydaje mi się że chodzi o tą część
  1. IF(ID=@id, @idnr := @nr ,@idnr=@idnr)

powinno być tak
  1. IF(ID=@id, @idnr := @nr, @idnr)

ale naturalnie moge się mylić.
zdzichu
nie, to nie to - przyjrzałem się błędowi, który występował po całym set, przed select - rozbiłem to na dwa zapytania (pierwszy to set _zmienne_ ) drugi to select - i działa. w każdym razie dzięki za pomoc winksmiley.jpg
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.