abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:55 | Komunita

    Vývoj programovacího jazyka Zig byl přesunut z GitHubu na Codeberg. Sponzoring na Every.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Komunita

    Stejně jako GNOME i KDE Plasma končí s X11. KDE Plasma 6.8 poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | IT novinky

    Poslanci Evropského parlamentu dnes vyzvali k výraznému zvýšení ochrany nezletilých na internetu, včetně zákazu vstupu na sociální sítě pro osoby mladší 16 let. Legislativně nezávazná zpráva, kterou dnes odsouhlasil Evropský parlament poměrem 493 hlasů pro ku 92 proti, kromě zavedení věkové hranice 16 let pro využívání sociálních sítí, platforem pro sdílení videí či společníků s umělou inteligencí (AI) vyzývá také k zákazu … více »

    Ladislav Hagara | Komentářů: 20
    včera 14:11 | Humor

    Doom v KiCadu nebo na osciloskopu? Žádný problém: KiDoom: Running DOOM on PCB Traces a ScopeDoom: DOOM on an Oscilloscope via Sound Card.

    Ladislav Hagara | Komentářů: 3
    včera 12:44 | Nová verze

    Po AlmaLinuxu byl v nové stabilní verzi 10.1 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Zajímavý software

    Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.

    Ladislav Hagara | Komentářů: 1
    25.11. 17:00 | IT novinky

    Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.

    Ladislav Hagara | Komentářů: 8
    25.11. 11:55 | Zajímavý software

    Software LibrePods osvobozuje bezdrátová sluchátka AirPods z ekosystému Applu. Exkluzivní funkce AirPods umožňuje využívat na Androidu a Linuxu. Díky zdokumentování proprietárního protokolu AAP (Apple Accessory Protocol).

    Ladislav Hagara | Komentářů: 1
    25.11. 05:00 | Nová verze

    Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    25.11. 04:33 | Komunita

    Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (22%)
     (16%)
     (24%)
     (16%)
     (17%)
    Celkem 406 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Problém s funkcí rand v php

    2.4.2012 11:41 SCP
    Problém s funkcí rand v php
    Přečteno: 462×
    Zdravím, mám v mysql 15364 řádků a potřebuji náhodně pro každý řádek vygenerovat v PHP náhodné číslo do 1 do 15635.

    zkoušel jsem to takto.. ale výsledek je takový, že se uloží stejné číslo cca 30x po sobě a pak následuje číslo jiné, nevíte proč nemá každý řádek jiné číslo? Díky
    for ($i = 1; $i < 15364; $i++) {
    $rand = rand(1,15635);
    $stmt = $pdo->prepare('UPDATE iny SET lok = ?');
    $stmt->execute(array($rand));
    $stmt->fetch(PDO::FETCH_ASSOC);
    }

    Řešení dotazu:


    Odpovědi

    2.4.2012 12:22 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Problém s funkcí rand v php
    srand -uješ?
    2.4.2012 12:39 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: Problém s funkcí rand v php
    Hele, rozumím dobře tomu, že se snažíš vygenerovat 15364 náhodný celých čísel rovnoměrně rozdělených v rozsahu 1 až 15635 a divíš se tomu, že ve výsledku jsi našel 30 stejných čísel? Pokud ano, obrat svoji pozornost ke statistice místo PHPka. :)
    2.4.2012 12:53 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: Problém s funkcí rand v php
    Pardon, 30 je na tohle už moc, maximální počet stejných čísel by měl být spíš tak osm. Ale rozhodně nebudeš mít každé číslo jiné!

    Pokud jsem správně pochopil, co generuješ, tak v případě 30 shodných čísel máš rozbitý generátor anebo chybu někde jinde. Každopádně se srand to nemá moc společného.
    2.4.2012 13:06 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: Problém s funkcí rand v php
    Podle komentářů u online manuálu PHPka to vypadá, že generátor od rand() může být na některých implementacích skutečně dost rozbitý. Někdo místo něj doporučoval mt_rand(). Kdyžtak víc viz dokumentace na php.net (já to zas moc podrobně nečetl).
    2.4.2012 14:08 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém s funkcí rand v php
    30× po sobě je dost divné, 30× stejné číslo ve vygenerované množině asi nepravděpodobné, zkuste fci mt_rand().
    Nicméně co ten SQL příkaz?, každým dotazem upravujete pole lok ve všech záznamech tabulce iny, nějaký WHERE nechybí?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    2.4.2012 14:30 SCP
    Rozbalit Rozbalit vše Re: Problém s funkcí rand v php
    Ano, přesně tak, WHERE byl ten problém :-( Nechápu jak jsem to mohl přehlídnout :-(

    Tohle už funguje jak má... Díky moc
    for ($i = 1; $i < 15364; $i++) {
    $rand = rand(1,15635);
    $stmt = $pdo->prepare('UPDATE iny SET lok = ? WHERE id = ?');
    $stmt->execute(array($rand, $i));
    $stmt->fetch(PDO::FETCH_ASSOC);
    }
    rADOn avatar 2.4.2012 14:52 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Problém s funkcí rand v php
    Můžeš se taky na rand() v php úplně vybodnout a vyrobit si náhodné číslo sql funkcí.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    5.4.2012 12:18 Honza Vrana
    Rozbalit Rozbalit vše Re: Problém s funkcí rand v php
    Krasny den,

    chtel jsem napsat to same, pridavam priklad:

    UPDATE iny SET lok=round(rand()*1523);

    nevim jestli to nahodne cislo potrebujete furt stejne, jestli to nepouzivate jen na nahodne serazeni protoze pak lze v mysql pouzit i RAND pri selectu

    cily SELECT * FROM iny ORDER BY RAND();

    I kdyz pri vetsim poctu radku to nemusi mit zrovna optimalni vykon.

    Honza Vrana

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.