Táblából datetime mezõ szerinti 5 legfrissebb adat kiolvasása

Indította tudvari, 2014. február 08. - 10:51:26

Előző téma - Következő téma

tudvari

Üdv!
Az lenne a kérdésem,hogy egy táblából,hogy tudok kiolvasni sorokat egy datetime típusú oszlopból csökkenõ sorrend szerint például 5 sort?
Elõre is köszi a válaszokat.

Pedró

SELECT `datetime` FROM `tábla` ORDER BY(`datetime`) DESC LIMIT 5;

tudvari

köszi :D De ez mivel tér vissza? VAgyis hogyan tudom egy változóban tárolni a top 5-öt?

bbTamas

Melyik mysql plugint használod jelenleg?
Lekérésnél, végigmész egy ciklussal ötször a kívánt sorokon, az értékeket pedig kívánt változóba helyezed.
Függvénynevet nem tudok írni vagy példát, mert nem tudom melyik bõvítményt használod.

tudvari


Pedró


tudvari

De hogy tudom az 5 visszatérésbõl változóban tárolni az XY oszlop alatti értéket?

Pedró

new row[128], datetime;
mysql_query(\"SELECT `datetime` FROM `tábla` ORDER BY(`datetime`) DESC LIMIT 5;\");
mysql_store_result();
new count;
while(mysql_fetch_row_format(row, \"|\")) {
count++;
sscanf(row, \"p<|>i\", datetime);
printf(\"%i.) %i\", count, datetime);
}
mysql_free_result();

 
Nem vagyok benne biztos, hogy ez így jó. Kérlek teszteld, és jelezd észrevételeidet. :)

tudvari


Pedró

Sajnos nem tudom elmagyarázni a while részét, viszont a store_result, free_result elég egyszerû.
mysql_store_result -> elmented memóriába az adatokat (pl sorok)
mysql_free_result -> üríted a memóriát.

tudvari


Pedró

Megpróbálom, már elõre gondolom, hogy semmit se fogsz érteni. xd
Tehát ez egy ciklus.. Addig fut míg tud lekérdezni. jézusomnexd
Tehát ha ciklus nélkül mysql_fetch_row(/_format) oznál, elsõ sort kérdezné le, de így ciklus segítségével végig halad a sorokon, amíg tud.

tudvari

#12
Azt tudom.Engem az érdekel,hogy pontosan mit csinál:
 
mysql_fetch_row_format(row, \"|\")) 

 
és az sscanf.
Ui.: http://sampforum.hu/index.php?topic=51020.0\" rel=\"external nofollow\">Erre is rátudnál nézni? köszi :D

Pedró

#13
Lekérdezi a sort úgy, hogy az oszlopok adatait |-vel választja el.
Neked ezt azért csináltam meg, mert gondoltam, hogy úgyis több oszlopot le fogsz kérni., nem csak a datetime-t.
Tehát ha lekéred:
SELECT `admin`, `vip` FROM `users` WHERE Name = \'[gyilkos]Pedró\';
és alkalmazod a mysql_fetch_row_format(row, \"|\"))-t, akkor a row karakterláncba befogja írni a játékos adminszintjét, vipszintjét |-vel elválasztva.
sscanf ehhez azért kell, mert az darabolja szét a karakterláncot.

tudvari