![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
np. mamy dwie kolumny (name, pos) i po wykonaniu:
chciałbym wstawić do pos="numerowy pozycji którą zajmuje po sortowaniu" Chodzi mi o to by to zrobić wydajnie, najlepiej w jednym zapytaniu, czy to możliwe, ma ktoś jakiś pomysł ? Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Zajrzyj do FAQ ~nospora: http://nospor.pl
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje, wszystko fajnie, rozumiem logikę, lecz problem mam z zadziałaniem tego zapytania (IMG:style_emoticons/default/smile.gif)
Dokładnie chodzi o inicjalizacje zmiennej (set @i=0;) MySQL Query Browser traktuje to jako dwie osobne komendy, przez to ze na końcu inicjalizacji zmiennej jest (;) Wykonując to samo z PHP też nie jest lepiej. Jak to zrobić ? (IMG:style_emoticons/default/smile.gif) Pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
2x mysql_query. I nie sugeruj się tym, że są dwa zapytania. To pierwsze wykona się w 0.0000000000000001 sekundy, czyli tak, jakby go nie było. (IMG:style_emoticons/default/winksmiley.jpg)
A jak już tak bardzo chcesz w jednym -> wtedy stwórz sobie widok w MySQL. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
2x mysql_query. <- oczywiście od razu tak też sprawdziłem niestety nie działa, jakiegoś pecha mam bo przecież zapytanie jest logiczne. Przynajmniej mnie się takie wydaje. (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
to pokaż kod
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Za dużo by cały kod wklejać i później to czytać ale przykład:
Sprawdzałem na localhost i home.pl To samo lokalnie pod konsolą MYSQL działa bez problemu: mysql> set @i=555; Qery OK..... mysql> select @i; wyświetla poprawnie wynik Dokładnie, tak jak być powinno -> http://dev.mysql.com/doc/refman/5.0/en/user-variables.html Denerwuje mnie to bardzo. (IMG:style_emoticons/default/sad.gif) Może ktoś ma pomysł ? Pozdrawiam |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj podziałać na prepared statement w mysqli (IMG:style_emoticons/default/smile.gif) Ja orłem z baz danych nie jestem i tak sobie radze (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj podziałać na prepared statement w mysqli (IMG:style_emoticons/default/smile.gif) Ja orłem z baz danych nie jestem i tak sobie radze (IMG:style_emoticons/default/smile.gif) Jeśli nie będę zmuszony to nie chce kombinować od dupy strony, bo rozwiązanie z definicją zmiennej jest proste zgrabne i na temat, tylko dlaczego do kur... nie działa !?(IMG:style_emoticons/default/questionmark.gif) pozdrawiam (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
dlaczego do kur... nie działa !?(IMG:style_emoticons/default/questionmark.gif) Bo nie przypisałeś wyniku zapytania do żadnej zmiennej. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Poza tym nie jestem pewien czy @i może być indeksem tablicy w PHP. Użyj raczej aliasu w zapytaniu.
|
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
moze byc. Bledem było to co napisał już phpion
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
hahahhahahaha ten błąd ubawił mnie dzisiaj (IMG:style_emoticons/default/smile.gif)
pomijając tą "literówkę" (IMG:style_emoticons/default/winksmiley.jpg) i tak jestem zdziwiony ponieważ, przykład poniżej wyświetla poprawny wynik w PHP, lecz nie zapisuje go w DB:
...a rozumiem że zapytanie powinno zapisać wartość @i do kolumny rank, tak ? oczywiście to nie problem bo działa przez update: lecz analogicznie do poprzedniego to tez powinno działać lecz inkrementacja nie działa, dlaczego ? To żaden problem, ale może komuś będzie się chciało odpowiedzieć, dlaczego dwa wymienione przykłady nie działają. Pozdrawiam. (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Cytat ...a rozumiem że zapytanie powinno zapisać wartość @i do kolumny rank, tak ? Nie. SELECT tylko wyświetla dane. Cytat lecz analogicznie do poprzedniego to tez powinno działać lecz inkrementacja nie działa, dlaczego ? U mnie działa :-/ |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 06:23 |