Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MySQL - Liczba Porządkowa
esiek
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 6.11.2008
Skąd: Warszawa

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


Siema mam taki problem. Mam w MySQL tabelę z użytkownikami czyli zarejestrowanymi osobami. Teraz chciałbym wiedzieć jako który z koleji się zarejestrował. Albo jako który na liście jest alfabetycznie bez odczytywania całej bazy danych. w tym celu wiadomo sortowanie tabeli Według Daty rejestracji, czy nazwy uzytkownika ORDER BY `data_rejestracji` ASC. czy jest zapytanie SQL zwracające mi od razu lizbe porządkowąquestionmark.gif


--------------------
allebhp.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
nospor
post
Post #2





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




http://nospor.pl/mysql-faq-n25.html#faq-8


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

"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
esiek
post
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 6.11.2008
Skąd: Warszawa

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


Rewelacja winksmiley.jpg o to mi chodzilo ale nie moge sobie poradzic ze stworzeniem kodu php pod to.

  1. $sql = "set @id=0,@nr = 0, @idnr = 0;
  2. select @idnr as nr from (SELECT @nr:=@nr+1,if(ID=@id, @idnr := @nr,@idnr=@idnr),
  3. ID FROM `skills` where `uid`='".$_SESSION['uid']."' order by technika DESC) podsel where podsel.ID = @id";
  4. $run = mysql_query( $sql );
  5.  
  6.  
  7. while( $row = mysql_fetch_array( $run ) )
  8.  
  9.  
  10. echo$row['id'];
  11.  


--------------------
allebhp.pl
Go to the top of the page
+Quote Post
krowal
post
Post #4





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

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


Spróbuj to rozbić na dwa zapytania:
  1. <?php
  2. $sql = "set @id=0,@nr = 0, @idnr = 0";
  3. mysql_query( $sql );
  4.  
  5. $sql = "select @idnr as nr from (SELECT @nr:=@nr+1,if(ID=@id, @idnr := @nr,@idnr=@idnr), ID FROM `skills` where `uid`='".$_SESSION['uid']."' order by technika DESC) podsel where podsel.ID = @id";
  6. $run = mysql_query( $sql );
  7. ?>


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
esiek
post
Post #5





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 6.11.2008
Skąd: Warszawa

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


  1. $sql = "set @id=0,@nr = 0, @idnr = 0";
  2. mysql_query( $sql );
  3.  
  4. $sql = "SELECT @idnr AS nr FROM (SELECT @nr:=@nr+1,if(ID=@id, @idnr := @nr,@idnr=@idnr),
  5. ID FROM `skills` WHERE `uid`='xxx' ORDER BY `kasa` DESC) podsel WHERE podsel.ID = @id";
  6.  
  7. $run = mysql_query("$sql");
  8. while($row = mysql_fetch_array($run))
  9. {echo$row['id'];}



teraz mam tak

i wywala dalej Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in


--------------------
allebhp.pl
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A co pokazuje mysql_error?


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
esiek
post
Post #7





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 6.11.2008
Skąd: Warszawa

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


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\www\Game\index.php on line 30
1064: Something is wrong in your syntax obok 'SELECT @nr:=@nr+1,if(ID=@id, @idnr := @nr,@idnr=@idnr), ID FR' w linii 1

narazie ma taki scrypt ktory dziala

ale jak bedzie wieksza liczba uzytkownikow to serwer nie wyrobi ;/
dlatego chce to samo przedstwawic w postaci jednego zapytania winksmiley.jpg
  1. $pozycja=1;
  2. $zapytanie = "SELECT * FROM `users` ORDER BY `login` ASC" ;
  3. $wykonaj = mysql_query("$zapytanie");
  4. while($wiersz = mysql_fetch_array($wykonaj))
  5. {
  6. if($wiersz['uid'] == $_SESSION['uid'])
  7. {
  8. echo"$pozycja";
  9. }
  10. $pozycja=$pozycja+1;
  11. }


--------------------
allebhp.pl
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
ale jak bedzie wieksza liczba uzytkownikow to serwer nie wyrobi ;/

Niby w jaki sposób? Deklarując zmienne? Mogę Ci zajeździć bazę 1 ogromnym zapytaniem, a nawet nie zauważysz 200 malutkich. Nie w liczbie tkwi zajeżdżanie.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
krowal
post
Post #9





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

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


Btw. możesz zrobić jeszcze inaczej:
  1. <?php
  2. $query = 'SELECT u.*, (SELECT count(u2.id) FROM users AS u2 WHERE u2.login < u.login) AS position FROM users AS u GROUP BY u.id ORDER BY u.position ASC';
  3. ?>

Przy tym rozwiązaniu musi być jednak spełniony jeden warunek, pola po których obliczasz 'position' (w tym przypadku pole 'login') muszą być unikalne.

Ten post edytował krowal 17.09.2009, 18:31:24


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
esiek
post
Post #10





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 6.11.2008
Skąd: Warszawa

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


powiem ci ze za h*ja nie rozumie tego zapytania... no moze troszeczke wiec zostane przy swoim rozwiazaniu smile.gif


--------------------
allebhp.pl
Go to the top of the page
+Quote Post
krowal
post
Post #11





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

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


No proszę Ciebie, przecież to proste zapytanie winksmiley.jpg
Chodzi o to, że chcąc sprawdzić pozycję pojedynczego rekordu względem innych rekordów używając konkretnego sortowania - do jej określenia używasz podzapytania które zliczy Ci ilość elementów które są przed szukanym rekordem (są mniejsze niż szukany rekord) winksmiley.jpg


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
nospor
post
Post #12





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




Cytat
Something is wrong in your syntax obok 'SELECT @nr:=@nr+1,if(ID=@id, @idnr := @nr,@idnr=@idnr), ID FR' w linii 1
A jaką ty masz wersje mysql?


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

"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
esiek
post
Post #13





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 6.11.2008
Skąd: Warszawa

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


naweet nie wiem. mam krasnala 2.7.5


--------------------
allebhp.pl
Go to the top of the page
+Quote Post
nospor
post
Post #14





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




to sprawdź smile.gif
poczytaj w googlo jak sprawdzic wersje mysql. albo znajdz z jaką wersje przychodzi ten twoj krasnal w tej wersji co podales.
bo blad wskazuje jakbys mial jakąś starą

edit:
sam sprawdzilem. W sklad tego krasnala wchodzi STAROC mysql 3.
Na tym mysql nie działają podzapytania, ktorych tu uzylem. Obecna wersja mysql to 5. Zainstaluj sobie serwerek z akutalną wersją mysql a przynajmniej z 4.2
Jak wogóle można jeszcze pracować na takim starociu...
Powód edycji: [nospor]:


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

"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
thek
post
Post #15





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Sam kiedyś krasia używałem, ale to było już lata wstecz. Zrezygnowałem, gdy pewne zapytania przestały mi działać a według manuala nie miały prawa nie ruszyć. Sprawdzenie wersji i kopara w dół że tam jeszcze 3.X chodziło, skoro ściągane z ich homepage'a. Dopiero dokładne przyjrzenie konfigowi sprawiło, że wolałem pakiety osobno ściągać i instalować. Ale po jakimś czasie, z wygody, wamp winksmiley.jpg


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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: 19.08.2025 - 13:15