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:00 | Bezpečnostní upozornění

    Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.

    Ladislav Hagara | Komentářů: 2
    dnes 03:33 | Zajímavý software

    Nightingale je open-source karaoke aplikace, která z jakékoliv písničky lokálního alba (včetně videí) dokáže oddělit vokály, získat text a vše přehrát se synchronizací na úrovni jednotlivých slov a hodnocením intonace. Pro separaci vokálů využívá UVR Karaoke model s Demucs od Mety, texty písní stahuje z lrclib.net (LRCLIB), případně extrahuje pomocí whisperX, který rovněž využívá k načasování slov. V případě audiosouborů aplikace na

    … více »
    NUKE GAZA! 🎆 | Komentářů: 1
    včera 18:22 | Nová verze

    Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

    Ladislav Hagara | Komentářů: 11
    včera 17:22 | Nová verze

    Článek na stránkách Fedora Magazinu informuje o vydání Fedora Asahi Remixu 43, tj. linuxové distribuce pro Apple Silicon vycházející z Fedora Linuxu 43.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Pozvánky

    Byl zveřejněn program konference Installfest 2026. Konference proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13. Vstup zdarma.

    Ladislav Hagara | Komentářů: 3
    včera 03:55 | Nová verze

    Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.

    Ladislav Hagara | Komentářů: 10
    17.3. 23:55 | Nová verze

    Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…

    Ladislav Hagara | Komentářů: 22
    17.3. 18:11 | Nová verze

    Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    17.3. 04:55 | Nová verze

    Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.

    Ladislav Hagara | Komentářů: 12
    17.3. 04:33 | Zajímavý projekt

    Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,

    … více »
    NUKE GAZA! 🎆 | Komentářů: 49
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (1%)
     (11%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1110 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Dotaz: Jak naplnit pole v PHP daty z Mysql

    23.3.2014 19:34 Marián
    Jak naplnit pole v PHP daty z Mysql
    Přečteno: 620×
    Ahoj, poradí prosím někdo zkušený, jak bych mohl naplnit takové pole daty uložené v MySQL?
         $array = array('aaa' => array('a' => 'a-aaa', 'b' => 'b-aaa'),
                        'bbb' => array('a' => 'a-bbb', 'b' => 'b-bbb'),
                        'ccc' => array('a' => 'a-ccc', 'b' => 'b-ccc'),
                        'ddd' => array('a' => 'a-ddd', 'b' => 'b-ddd'),
                        'eee' => array('a' => 'a-ccc', 'b' => 'b-eee'));
    Děkuji za pomoc

    Odpovědi

    Josef Kufner avatar 23.3.2014 19:51 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    Postav dotaz tak, aby první sloupeček obsahoval klíče vnějšího pole ('aaa') a pak použij:
    $array = $pdo->fetchAll(PDO::FETCH_ASSOC | PDO::FETCH_GROUP);
    Pokud to nebude vyhovovat, tak prostě volej obyčejné fetch a skládej si to pole dle libosti.
    Hello world ! Segmentation fault (core dumped)
    23.3.2014 20:30 Marián
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    Díky ale vůbec jsem nepochopil tvou radu :-(
    27.3.2014 11:41 Marián
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    Postav dotaz tak, aby první sloupeček obsahoval klíče vnějšího pole ('aaa') a pak použij:
    $array = $pdo->fetchAll(PDO::FETCH_ASSOC | PDO::FETCH_GROUP);
    Když použiju tvé řešení které je mimo jiné parádní
    $array = $pdo->fetchAll(PDO::FETCH_ASSOC | PDO::FETCH_GROUP);
    dostanu takové pole
    array('key1' => array(0 => array('sloupec1' => 'data1', 'sloupec2' => 'data2', 'sloupec3' => 'data3', 'sloupec4' => 'data4',),),
          'key2' => array(0 => array('sloupec1' => 'data1', 'sloupec2' => 'data2', 'sloupec3' => 'data3', 'sloupec4' => 'data4',),),
          'key3' => array(0 => array('sloupec1' => 'data1', 'sloupec2' => 'data2', 'sloupec3' => 'data3', 'sloupec4' => 'data4',),),
         )
    Jak ale můžu získat jen tohle? Bez tohoto: "array(0 =>"

    a výsledek by pak byl takovej
    array('key1' => array('sloupec1' => 'data1', 'sloupec2' => 'data2', 'sloupec3' => 'data3', 'sloupec4' => 'data4',),
          'key2' => array('sloupec1' => 'data1', 'sloupec2' => 'data2', 'sloupec3' => 'data3', 'sloupec4' => 'data4',),
          'key3' => array('sloupec1' => 'data1', 'sloupec2' => 'data2', 'sloupec3' => 'data3', 'sloupec4' => 'data4',),
         )
    Díky
    Josef Kufner avatar 27.3.2014 12:34 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    Tomu se věnuje hned první komentář v dokumentaci fetchAll:
    $results = array_map('reset', $results);
    Sice to je celkem krátké, ale přináší to zbytečnou režii navíc.

    Otázkou je, o kolik je fetchAll s FETCH_GROUP rychlejší, než volání obyčejného fetch a vlastního skládání pole.
    Hello world ! Segmentation fault (core dumped)
    23.3.2014 19:52 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    Však už ho máš naplněné. Nepleteš si náhodou databázi s nějakým úložištěm?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    23.3.2014 20:30 Marián
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    To mělo sloužit jako mustr, nic víc...
    23.3.2014 20:49 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    Tahat z databáze celou tabulku je obvykle zbytečné, ale když už to tak musíš mít, zkus tohle:
    <php
    $array = array();
    foreach ($pdo->query('SELECT aaa, a, b FROM Array', PDO::FETCH_ASSOC) as $row) {
        $aaa = $row['aaa'];
        $array[$aaa] = array('a' => $row['a'], 'b' => $row['b']);
    }
    
    Vypadá to podivně, ale kdybys byl vymyslel lepší názvy proměnných, bylo by to vypadalo lépe.

    Časem určitě zjistíš, že tohle nepotřebuješ a že se to dá udělat mnohem jednodušeji, když trochu změníš vstupní požadavky. Už pojmenování slovníku $array zní podivně. Podivné je i to, že chceš slovník a ne seznam.

    Možná by se pro tento účel mnohem lépe hodilo XML nebo INIFILE.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    23.3.2014 20:55 Marián
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    Díky za pomoc, jdu to vyzkoušet..
    Podivné je i to, že chceš slovník a ne seznam.
    Můžeš to prosím upřesnit?
    Možná by se pro tento účel mnohem lépe hodilo XML nebo INIFILE.
    Jako že to mám uložit místo do mysql do XML souboru?
    23.3.2014 21:06 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    Pole, seznam a slovník jsou 3 datové struktury, které se v PHP dají vytvořit pomocí array(). Každá by měla být pojmenována podle toho, co je v ní uchováno. Název "$array" je úplně nesmyslný, zejména pro tvůj slovník. Takový název proměnné by se v aplikaci neměl vyskytovat.

    Pokud to vždy potřebuješ nacucnou všechno naráz, tak je XML mnohem vhodnější než databáze a INIFILE také. Načteš je zavoláním jedné funkce. Pokud však potřebuješ jen několik řádek nebo potřebuješ dělat nějaké operace s daty, je výhodnější databáze.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    4.4.2014 11:33 JV
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    Ahoj. Pri pouziti takoveho pole je mozno ziskat i nazev klice pri prochazeni foreach-em ?

    array('key1' => array(0 => array('sloupec1' => 'data1', 'sloupec2' => 'data2', 'sloupec3' => 'data3', 'sloupec4' => 'data4',),),
          'key2' => array(0 => array('sloupec1' => 'data1', 'sloupec2' => 'data2', 'sloupec3' => 'data3', 'sloupec4' => 'data4',),),
          'key3' => array(0 => array('sloupec1' => 'data1', 'sloupec2' => 'data2', 'sloupec3' => 'data3', 'sloupec4' => 'data4',),),
         )
    foreach ($array as $row) {
     echo $row['sloupec1']; //data1
     echo $row['sloupec2']; //data2
     echo ???               //key1
    }
    4.4.2014 12:05 Lucius
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    foreach ($array as $key => $row)
    4.4.2014 12:14 JV
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    Díky. To jsem zkousel, ale zase nevypisu ty jednotlive sloupce :-(
    4.4.2014 12:22 Lucius
    Rozbalit Rozbalit vše Re: Jak naplnit pole v PHP daty z Mysql
    protoze v row mas to prvni vnorene pole - jim pak muzes prochazet zase treba pres foreach, nebo pouzit list ap.

    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.