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

    Společnost Purism stojící za linuxovými telefony a počítači Librem má nově v nabídce postkvantový šifrátor Librem PQC Encryptor.

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

    VirtualBox, tj. multiplatformní virtualizační software, byl vydán v nové verzi 7.2. Přehled novinek v Changelogu. Vypíchnou lze vylepšené GUI.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Eric Migicovsky, zakladatel společnosti Pebble, v lednu oznámil, že má v plánu spustit výrobu nových hodinek Pebble s již open source PebbleOS. V březnu spustil předprodej hodinek Pebble Time 2 (tenkrát ještě pod názvem Core Time 2) za 225 dolarů s dodáním v prosinci. Včera představil jejich konečný vzhled (YouTube).

    Ladislav Hagara | Komentářů: 2
    včera 12:44 | Zajímavý software

    Byla oznámena nativní podpora protokolu ACME (Automated Certificate Management Environment) ve webovém serveru a reverzní proxy NGINX. Modul nginx-acme je zatím v preview verzi.

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

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    13.8. 11:55 | IT novinky

    Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.

    Ladislav Hagara | Komentářů: 5
    13.8. 04:33 | Bezpečnostní upozornění

    Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    13.8. 04:22 | Nová verze

    Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    12.8. 13:44 | Nová verze

    Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 0
    12.8. 13:00 | IT novinky

    Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování

    … více »
    Ladislav Hagara | Komentářů: 2
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (52%)
     (19%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (17%)
    Celkem 393 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    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: 578×
    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.