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 19:44 | IT novinky

    Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 10:55 | Nová verze

    Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.

    Ladislav Hagara | Komentářů: 4
    včera 09:33 | IT novinky

    Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.

    Ladislav Hagara | Komentářů: 5
    včera 04:44 | Nová verze

    Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    21.5. 21:33 | Bezpečnostní upozornění

    Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.

    Ladislav Hagara | Komentářů: 0
    21.5. 14:33 | IT novinky

    Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).

    Ladislav Hagara | Komentářů: 2
    21.5. 14:00 | Nová verze

    Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 0
    21.5. 11:33 | Nová verze

    Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 10.2 a 9.8. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Vypíchnout lze CLI AI asistenta goose. Podrobnosti v poznámkách k vydání (10.2 a 9.8).

    Ladislav Hagara | Komentářů: 0
    21.5. 05:11 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1687 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 623×
    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.