Skocz do zawartości

Ranking


Popularna zawartość

Treść z najwyższą reputacją w 11.06.2016 uwzględniając wszystkie działy

  1. 2 punkty
    PrzMas

    random z bazy danych

    Jeśli już to: if (response) { mysql_query( "SELECT * FROM `bays`;"); mysql_store_result(); new idx= random(mysql_num_rows()); // idx to indeks wylosowanego pola mysql_free_result(); } W pluginie, którego używam da się pobierać rekordy i pola po indeksie, a w StrickenKid-ie nie da się inaczej jak po nazwie pola. SELECT * FROM bays ORDER BY RAND() LIMIT 1; SELECT * FROM table WHERE id >= (SELECT FLOOR(MAX(id)*RAND()) FROM table) ORDER BY id LIMIT 1; Powyższe dwa zapytania zwrócą tylko jeden wylosowany rekord z tabeli. Ta druga kwerenda jest dla tabeli z kluczem głównym.
  2. 1 punkt
    .silent

    random z bazy danych

    W StrickenKidzie jest funkcja mysql_fetch_field_num() aczkolwiek nigdy jej nie używałem, najpewniej każde pobrane pole w wierszu ma swoje ID zaczynające się od 0 które możemy użyć w tej funkcji. Rozwiązanie z SELECT * nie jest zbyt dobre bo pobiera całą zawartość tabeli, ogromna ilość pamięci musi zostać zaalokowana w pluginie oraz duża ilość danych musi być wysłana. Rozwiązanie z ORDER BY RAND() jest dobre dla mniejszych tabel (kilka, kilkanaście tysięcy) jednak w większych tabelach jest ogromnie nieoptymalne gdyż tworzy ono tymczasową kopię tabeli, przy naprawdę ogromnych tabelach zapytanie potrafi wykonywać się po kilka/kilkanaście sekund. Na necie jest o tym mnóstwo tematów, z lepszymi rozwiązaniami zależnymi od sytuacji np. tu http://blog.vokiel.com/mysql-rand-jak-pobrac-losowe-wiersze/ jednak polecałbym kierować się tematami anglo-języcznymi gdyż polska to trochę tadżykistan w takich sprawach. Oczywiście jeśli nie zamierzasz robić jakiejś ogromnej tabeli to sam użyłbym na Twoim miejscu ORDER BY RAND().
  3. 1 punkt
    Daniel000192

    Prośby o skrypty

    system gangów z gangzonami trudno zrobić gang zony? czy ty chcesz podbijanie terenów tak jak ja mam w FullWarsie?!
  4. 1 punkt
    Maku

    [ROZWIĄZANY]Kodowanie znaków

    Użyj w MySQL latin2_general_ci lub latin2_bin. SAMP nie korzysta z UTF'a. Problemem jest zaś tutaj pobieranie danych na stronę internetową, ale w PHP masz od tego funkcję iconv();
  5. 1 punkt
    Michalec

    [ROZWIĄZANY]Kodowanie znaków

    Spróbuj mysql_set_charset("cp1250", mysql); Problem w tym, że plik .pwn jest zapisywany w Windows-1250. Zmiana na UTF nic nie da, ponieważ w grze nie będzie wtedy polskich znaków.
×