Sziasztok!
Írtam egy kis lekérdezést a ranglistámhoz. A pontok alapján a legtöbb ponttal rendelkezõ játékost írja ki felülre, majd csökkenõ sorrendben a többit alá. Azonban észrevettem, hogy a legtöbb ponttal rendelkezõ játékost lehagyja a rendszer. Beraktam GameModeInIt alá tesztelgetni, ezt a kódot írom is ki nektek. Próbálkoztam mindennel, de sehogy sem találtam rá megoldást.
format(mysql_string, sizeof(mysql_string), \"SELECT * FROM `táblám neve` ORDER BY `Pont` DESC\");
mysql_query(mysql_string);
mysql_store_result();
mysql_fetch_row(mysql_line);
while(mysql_fetch_row(mysql_line))
{
new Neve[64], Penz, Pont;
sscanf(mysql_line, \"p<|>{d}s[64]{s[64]}dd{dddds[256]ffffddddddddddddd}\", Neve, Penz, Pont);
printf(\"Név: %s, Pénz: %d, Pont: %d\", Neve, Penz, Pont);
}
mysql_free_result();
Tehát a legtöbb ponttal rendelkezõ játékost miért nem írja ki konzolba lekérdezéskor? Várom a választ.
Üdv: Dfoglalo
Érdekes, mert nem nagyon látok hibát a kódban.Ilyenkor próbáld meg lefuttatni a lekérdezést phpMyAdmin-ba, ha ott jó, akkor a scripttel lesz valami.Illetve, próbáld meg azt is, feldarabolás elõtt kiprinteled az eredményt.
format(mysql_string, sizeof(mysql_string), \"SELECT * FROM `táblám neve` ORDER BY `Pont` DESC\");
mysql_query(mysql_string);
mysql_store_result();
mysql_fetch_row(mysql_line);
printf(mysql_line);
mysql_free_result();
Csak egy észrevétel:
mysql_fetch_row(mysql_line);
while(mysql_fetch_row(mysql_line))
Látom 2x tárolod el az adatot a változóba.Ezt felesleges, elég csak a ciklusnál, nem kell a cikluson kívül is.(De nem hiszem, hogy ez lenne a gond a kóddal)