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 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 17
    včera 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    Kdo vám letos nadělí dárek?
     (33%)
     (2%)
     (11%)
     (2%)
     (1%)
     (2%)
     (15%)
     (19%)
     (14%)
    Celkem 85 hlasů
     Komentářů: 18, poslední včera 15:30
    Rozcestník

    Dotaz: PHP - Jak na zápis sql dotazu z array

    19.10.2011 13:39 Dědek
    PHP - Jak na zápis sql dotazu z array
    Přečteno: 585×
    Ahoj všem. poraí někdo jak načíst data? Mám funkci result_id() která vrací 26,46,47,48 ale nevím jak napsat sql dotaz a while. Zkoušel jsem to takto.
    $sql = mysql_query("SELECT * FROM rato WHERE cat IN ('".result($id)."')");
    
         while($row = mysql_fetch_assoc($sql)) {
              
              echo $row['id'] . "</br>";
    
         }
    ale vypisuje se jen jeden řádek :( Díky za pomoc

    Řešení dotazu:


    Odpovědi

    Salamek avatar 19.10.2011 13:54 Salamek | skóre: 22 | blog: salamovo
    Rozbalit Rozbalit vše Re: PHP - Jak na zápis sql dotazu z array
    $sql = 'SELECT * FROM rato WHERE cat IN ('.result($id).') ';
    $result = mysql_query($sql);
    //prepraseni do neceho pouzitelnejsiho
    while(($resultArray[] = mysql_fetch_assoc($result)) || array_pop($resultArray)); 
    
    foreach($resultArray AS $k=>$v)
    {
       echo $v['id'].'
    '."\n"; }
    Ale nejlepsi by bylo kdyby jsi nam rekl co presne zamyslis provest, treba by jsme ti navrhli lepsi reseni (ze strany SQL ci PHP)
    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    19.10.2011 15:16 aaa
    Rozbalit Rozbalit vše Re: PHP - Jak na zápis sql dotazu z array
    Nahrad
    $sql = mysql_query("SELECT * FROM rato WHERE cat IN ('".result($id)."')");
    za
    $sql = mysql_query("SELECT * FROM rato WHERE cat IN (".result($id).")");
    20.10.2011 17:32 Dědek
    Rozbalit Rozbalit vše Re: PHP - Jak na zápis sql dotazu z array
    požadované id z pole: 26,46,47,481
    to co napsal Salamek vypisuje radky s id: 1,2,1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,2670
    
    to co napsal blondak vypisuje radky s id: 2,3,4,5,2670
    ani jedna možnost není dobře :( Proč?
    AraxoN avatar 20.10.2011 19:01 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: PHP - Jak na zápis sql dotazu z array
    Preto, lebo nikto za Teba nebude robiť Tvoju prácu.
    20.10.2011 19:35 Kit
    Rozbalit Rozbalit vše Re: PHP - Jak na zápis sql dotazu z array
    Je to proto, že už tvé zadání je zřejmě špatně. Zkus zapřemýšlet, jak jsi přišel k seznamu požadovaných ID. Zřejmě už přeměna seznamu těchto ID na řetězec byla nesmyslná. Tedy v případě, že ten seznam byl získán ze stejné databáze.

    Zkus myšlenkově couvnout a napiš nám, jakým postupem jsi přišel k seznamu 26,46,47,481. Je možné, že se celá úloha dá vyřešit jediným SQL dotazem bez takového mezivýpočtu.
    Salamek avatar 27.10.2011 10:07 Salamek | skóre: 22 | blog: salamovo
    Rozbalit Rozbalit vše Re: PHP - Jak na zápis sql dotazu z array
    napis nam presne co zamyslis, je mozne ze by tohle cele vyreseli jeden JOIN
    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    Josef Kufner avatar 29.10.2011 17:34 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: PHP - Jak na zápis sql dotazu z array
    To není správně -- Je to náchylné na SQL Injection.

    Správně je, aby funkce result() vrátila pole a pak udělat něco jako toto:
    $sql = mysql_query("SELECT * FROM rato WHERE cat IN (\"".join('","', array_map('mysql_real_escape', result($id))."\")");
    Ale ještě lepší je použít join nebo subselect (pokud to je možné).
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 29.10.2011 17:35 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: PHP - Jak na zápis sql dotazu z array
    Příště si vypiš sestavený SQL dotaz, tak jak ho předáš do mysql_query(). Sám uvidíš, kde je chyba.
    Hello world ! Segmentation fault (core dumped)
    27.10.2011 09:22 neasi
    Rozbalit Rozbalit vše Re: PHP - Jak na zápis sql dotazu z array
    Neviem ako to je s assoc ale mne array funguje takto $sql = mysql_query("SELECT * FROM rato WHERE cat IN ('".result($id)."')");

    while($row = mysql_fetch_array($sql)) { echo $row['id'] . "br";

    }

    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.