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 19:55 | Zajímavý software

    Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.

    David Heidelberg | Komentářů: 0
    dnes 13:33 | Komunita

    Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.

    |🇵🇸 | Komentářů: 0
    dnes 13:22 | Nová verze

    Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

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

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

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

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

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

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

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

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 3
    včera 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    19.6. 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 0
    19.6. 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

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