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 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 1
    včera 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 3
    6.10. 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    6.10. 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    6.10. 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    6.10. 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (18%)
     (16%)
     (16%)
    Celkem 191 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    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: 579×
    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.