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í
×
    včera 23:33 | IT novinky

    Čeští policisté společně se svými tureckými kolegy zadrželi 51 lidí, kteří se podle kriminalistů podíleli na provozu podvodného call centra v Istanbulu. Skupina je spojena s 1173 případy podvodů na českých občanech, při kterých vznikla škoda přes 553 milionů korun.

    Ladislav Hagara | Komentářů: 1
    3.7. 03:55 | Nová verze

    Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.

    Ladislav Hagara | Komentářů: 5
    3.7. 02:55 | IT novinky

    Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).

    Ladislav Hagara | Komentářů: 0
    3.7. 01:22 | Nová verze

    Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.

    Ladislav Hagara | Komentářů: 0
    3.7. 00:11 | IT novinky

    Společnost Sony oznámila, že od ledna 2028 přestane vydávat nové hry pro PlayStation na fyzických discích. Všechny budoucí tituly budou dostupné výhradně v digitální podobě na PlayStation Store.

    Ladislav Hagara | Komentářů: 7
    2.7. 16:55 | Nová verze

    Google Chrome 150 byl prohlášen za stabilní. Nejnovější stabilní verze 150.0.7871.46 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 433 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    2.7. 13:00 | Nová verze

    Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.

    Ladislav Hagara | Komentářů: 17
    2.7. 12:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.

    Ladislav Hagara | Komentářů: 1
    2.7. 12:22 | Zajímavý článek

    Francúzska organizácia na ochranu spotrebiteľa, po viac než ôsmych rokoch skúmania, žaluje Epson za plánované zastarávanie tlačiarní. Súd sa začína dnes, 2. 7. 2026, vo francúzskom Nanterre.

    Vlado99 | Komentářů: 9
    2.7. 03:00 | Zajímavý software

    Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (25%)
    Celkem 2053 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 492×
    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.