Szerző Téma: MySQL - top 10 sor kiíratása  (Megtekintve 1173 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Dátum: 2014. Május 17. - 10:36:31 »
0 Show voters
Sziasztok!
Az alábbit szeretném megcsinálni,csak nem értek annyira a mysql-hez,és nem szeretnék sok restartot csinálni azért,mert elírtam valamit.
-A táblából kiválasztani azokat a sorokat,ahol a Mezõ1 értéke X
-Ezeket az értékeket a Mezõ2 szerint csökkenõ sorrendbe rakni.
-És az elsõ tíz sorból a Mezõ3 értékét kiíratni.
Szóval kell egy query ami kiválasztja ezet a tízet,és majd egy ciklussal ezeken végigmennék.Nekem csak a mysql-es rész kell.
Elõre is köszönöm.

Nem elérhető Szilard

  • Adminisztrátor
  • 1832
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #1 Dátum: 2014. Május 17. - 11:03:14 »
0 Show voters
SELECT * FROM tabla WHERE mezo1=X ORDER BY mezo2 DESC LIMIT 0, 10

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #2 Dátum: 2014. Május 17. - 11:07:40 »
0 Show voters
de ezt miben tudom eltárolni?

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #3 Dátum: 2014. Május 17. - 19:14:25 »
0 Show voters
Ez kiválasztja az elsõ tíz sort, a megadott kritérium szerijt sorbarendezve. Azaz, le kell kérned a KIJELZETT sor számot. Tehát asszem R6-ban sscanfal darabolni. Csak R38-ban tudom, hogy
 

new VersenyzokPenze[10];
for(new a = 0; a < 10; a++) {
VersenyzokPenze[a] = cache_get_field_int(a, \"Penz\");

 
Vagy valahogy így.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #4 Dátum: 2014. Május 17. - 21:56:25 »
0 Show voters
Csak mi szerint van R6-ban elválasztva egy új sor?A mezõk \"|\" jellel,de mivel van elválasztva a sor?

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #5 Dátum: 2014. Május 17. - 22:35:18 »
0 Show voters
Ahogy a wikit olvasgattam ( http://wiki.sa-mp.com/wiki/MySQL ), leginkább a mysql_retrieve_row lenne jó arra, hogy a következõ sorra ugorj, majd ott store_result, sscanf, stb.
Bár az én angoltudásommal... :D
Jaja, nem. Amikor használod a mysql_fetch_rowt, akkor automatikusan a következõ sorra ugrik.
Így ni:
 
mysql_query(\"SELECT * FROM tabla WHERE mezo1=X ORDER BY mezo2 DESC LIMIT 0, 10\");
mysql_store_result();
new eredm[128];
mysql_fetch_row(eredm); //elsõ sor lekérése
sscanf(eredm, \"p<|>sd\", nev, penz); //darabolása
//Az e felett lévõ két sort ismételgeted.
mysql_free_result();
« Utoljára szerkesztve: 2014. Május 22. - 16:33:19 írta KovaNovik »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #6 Dátum: 2014. Május 24. - 15:02:10 »
0 Show voters
[mod]Témát zártam! Ha mégsem oldódott meg a problémád, kérlek jelezd PÜ-be, és megnyitom a témát![/mod]

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #7 Dátum: 2014. Május 17. - 10:36:31 »
0 Show voters
Sziasztok!
Az alábbit szeretném megcsinálni,csak nem értek annyira a mysql-hez,és nem szeretnék sok restartot csinálni azért,mert elírtam valamit.
-A táblából kiválasztani azokat a sorokat,ahol a Mezõ1 értéke X
-Ezeket az értékeket a Mezõ2 szerint csökkenõ sorrendbe rakni.
-És az elsõ tíz sorból a Mezõ3 értékét kiíratni.
Szóval kell egy query ami kiválasztja ezet a tízet,és majd egy ciklussal ezeken végigmennék.Nekem csak a mysql-es rész kell.
Elõre is köszönöm.

Nem elérhető Szilard

  • Adminisztrátor
  • 1832
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #8 Dátum: 2014. Május 17. - 11:03:14 »
0 Show voters
SELECT * FROM tabla WHERE mezo1=X ORDER BY mezo2 DESC LIMIT 0, 10

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #9 Dátum: 2014. Május 17. - 11:07:40 »
0 Show voters
de ezt miben tudom eltárolni?

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #10 Dátum: 2014. Május 17. - 19:14:25 »
0 Show voters
Ez kiválasztja az elsõ tíz sort, a megadott kritérium szerijt sorbarendezve. Azaz, le kell kérned a KIJELZETT sor számot. Tehát asszem R6-ban sscanfal darabolni. Csak R38-ban tudom, hogy
 

new VersenyzokPenze[10];
for(new a = 0; a < 10; a++) {
VersenyzokPenze[a] = cache_get_field_int(a, \"Penz\");

 
Vagy valahogy így.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #11 Dátum: 2014. Május 17. - 21:56:25 »
0 Show voters
Csak mi szerint van R6-ban elválasztva egy új sor?A mezõk \"|\" jellel,de mivel van elválasztva a sor?

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #12 Dátum: 2014. Május 17. - 22:35:18 »
0 Show voters
Ahogy a wikit olvasgattam ( http://wiki.sa-mp.com/wiki/MySQL ), leginkább a mysql_retrieve_row lenne jó arra, hogy a következõ sorra ugorj, majd ott store_result, sscanf, stb.
Bár az én angoltudásommal... :D
Jaja, nem. Amikor használod a mysql_fetch_rowt, akkor automatikusan a következõ sorra ugrik.
Így ni:
 
mysql_query(\"SELECT * FROM tabla WHERE mezo1=X ORDER BY mezo2 DESC LIMIT 0, 10\");
mysql_store_result();
new eredm[128];
mysql_fetch_row(eredm); //elsõ sor lekérése
sscanf(eredm, \"p<|>sd\", nev, penz); //darabolása
//Az e felett lévõ két sort ismételgeted.
mysql_free_result();
« Utoljára szerkesztve: 2014. Május 22. - 16:33:19 írta KovaNovik »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
MySQL - top 10 sor kiíratása
« Válasz #13 Dátum: 2014. Május 24. - 15:02:10 »
0 Show voters
[mod]Témát zártam! Ha mégsem oldódott meg a problémád, kérlek jelezd PÜ-be, és megnyitom a témát![/mod]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal