Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[PHP][Pomoc]array_rand


Rekomendowane odpowiedzi

Opublikowano

Witam ! Ostatnio bawię się w system walki. Mam problem :

Chcę by szansa na użycie umiejętności była 50% - proste. Ale mam oddzielną tabelę z skillami.

1 rekord - 1 skill

 

I czy wiecie jak wybrać jeden losowy rekord ? Ja myślałem ,żeby coś zrobić z ilością skilli i wybrać je przy pomocy num_rows i wylosować ,ale jestem za bardzo śpiący by myśleć dlatego daję wam szansę zdobycia lajka ;).

Opublikowano

ja bym proponował, coś w stylu

$ile = mysql_num_rows() - 1;
$los = rand(0,$ile);
mysql_query("SELECT * FROM skille WHERE player="t3" LIMIT $los, 1");

Opublikowano

Właśnie też nad tym myślałem ,ale kapke błąd popełniłeś :

 

$rows = mysql_query("SELECT * FROM s1__Skills WHERE Owner=".$char['Id']);
$ile = mysql_num_rows($rows);
$los = rand(1, $ile);
mysql_query("SELECT * FROM s1__Skills WHERE Owner=".$char['Id']." LIMIT $los, 1");

I chyba jest ok ;)

Opublikowano

wydaje mi się, że teraz nigdy nie wybierze pierwszego rekordu ani ostatniego.

LIMIT jako pierwszy argument przyjmuje liczbe ile rekordów ma pominąć czyli 0 pasuje i wtedy wybierze pierwszy, no i jak w sumie jest np. 20 to pierwsze 20 pominie i wybierze 21 którego nie ma.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...