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 11:11 | Zajímavý článek

Společnost Red Hat s vydáním Red Hat Enterprise Linuxu 7.4 oznámila ukončení podpory souborového systému Btrfs. Bude to mít vliv na podporu Btrfs v linuxových distribucích SUSE Linux Enterprise? Odpověď v příspěvku na blogu SUSE: Kdyby Brazílie, jeden z největších producentů hovězího masa, oznámila, že přestane produkovat ryby, ptali byste se, zda Peru, jeden z největších světových producentů ryb, přestane produkovat ryby? Pravděpodobně ne. Stejně je to s Btrfs. Btrfs je a nadále zůstane výchozím souborovým systémem v SUSE Linux Enterprise [reddit].

Ladislav Hagara | Komentářů: 2
včera 19:46 | Nová verze

dnsdist, specializovaný balancer pro DNS provoz, dosáhl stabilní verze 1.2.0. Tento software vyvíjí komunita kolem PowerDNS a neměl by uniknout pozornosti nikomu, kdo provozuje vytíženější rekurzivní DNS servery. Balancer je vhodný k obraně před DDoS útoky, je skriptovatelný v LUA, disponuje konzolovým rozhraním a má spoustu dalších zajímavých vlastností.

… více »
BigWrigley | Komentářů: 0
včera 15:22 | Nová verze

Byla vydána verze 9.5 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu. Zdůraznit lze možnost ověřování GPG podpisů u commitů.

Ladislav Hagara | Komentářů: 4
22.8. 16:22 | Nová verze

Byla vydána verze 0.11.0 softwaru pro statistickou analýzu dat GNU PSPP (Wikipedie), svobodné alternativy k proprietárnímu softwaru IBM SPSS Statistics (Wikipedie). Vedle několika vylepšení a oprav chyb jsou řešeny také 2 bezpečnostní chyby CVE-2017-10791 a CVE-2017-10792. O týden později byla vydána verze 1.0.0 přinášející pouze aktualizaci překladů. Proč verze 1.0.0 a ne například 0.11.1? Dle vývojářů jsou důvody následující:

… více »
Ladislav Hagara | Komentářů: 0
22.8. 10:35 | Komunita

Na blogu Oracle se objevila zpráva o tom, že plánovaná verze Java EE 8 bude uvolněna jako open source (referenční implementace a compatibility kit). V současné době je uvolněna jen Java SE (standard edition) pod licencí GPLv2 v podobě OpenJDK (Open Java Development Kit), kterou začal v roce 2006 uvolňovat Sun.

Max | Komentářů: 4
21.8. 23:55 | IT novinky

Google na YouTube oficiálně představil Android 8.0 Oreo. Přehled novinek v příspěvku na blogu věnovaném vývojářům.

Ladislav Hagara | Komentářů: 34
21.8. 16:44 | Zajímavý článek

Po téměř 3 měsících od vydání třetího čísla publikoval Michal Špaček na svých stránkách čtvrté číslo newsletteru věnovanému bezpečnosti, bezpečnému vývoji převážně webových aplikací a bezpečnosti uživatelů. Jedná se současně o číslo poslední: "Nepíše se mi to lehce, a trvalo to, než jsem to ze sebe dostal, ale tohle je poslední newsletter v této podobě. Ani jsem ho nestihl pojmenovat a už jsem ho zabil. Nezbývá mi tolik času, abych každou událost, novinku a změnu v prohlížeči detailně popisoval tak, jak bych v newsletteru chtěl, mrzí mě to".

Ladislav Hagara | Komentářů: 2
21.8. 07:00 | Nová verze

Byla vydána diaspora* ve verzi 0.7.0.0. Jedná se o svobodný software, který slouží jako osobní webový server pro poskytování služeb sociální sítě (Wikipedie). Přehled novinek v příspěvku na blogu a na GitHubu. Sociální síť diaspora* byla před pěti lety předána komunitě.

Ladislav Hagara | Komentářů: 0
21.8. 06:00 | IT novinky

Společnost Hardkernel stojící za jednodeskovými počítači ODROID představila na YouTube minipočítač určený pro domácí cloud ODROID-HC1 vycházející z ODROID-XU4. Minipočítač s kovovou krabičkou, do které stačí vložit 2 a půl palcový disk, lze koupit za 49 dolarů. ODROID-HC1 je stohovatelný.

Ladislav Hagara | Komentářů: 41
20.8. 16:22 | Nová verze

Byl vydán DB Browser for SQLite (sqlitebrowser) ve verzi 3.10.0. Nejnovější stabilní verze této grafické nadstavby nad relačním databázovým systémem SQLite (Wikipedie) přináší například integraci s DBHub.io, tj. platformou pro sdílení SQLite databází. Podrobnosti na GitHubu.

Ladislav Hagara | Komentářů: 2
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (18%)
 (76%)
Celkem 378 hlasů
 Komentářů: 21, poslední 13.8. 09:57
    Rozcestník

    Dotaz: Propojeni 2 tabulek v PHP

    24.10.2008 20:03 Tomyx007
    Propojeni 2 tabulek v PHP
    Přečteno: 498×
    Prosim o radu, jak jednoduse propojit v PHP dve tabulky "polls" (se sloupci: ID_pollu,ID_Candidate1, ID_Candidate2, ID_Candidate3, ID_Candidate4,Votes1,Votes2,Votes3,Votes4) a tabulku "candidates" (se sloupci:ID, Prijmeni). Kde vzdy kazdemu ID_Candidate (v tabulce "polls") odpovida jedno ID (v tabulce "candidates"). Cilem je vypsat prijmeni kandidatu (z tabulky "candidates") a jim odpovidajici hlasy (Votes z tabulky "polls"). Ted jsem to resil slozitym zpusobem: $vysledek=mysql_query("SELECT * FROM polls where id='$idpoll'"); $zaznam=mysql_fetch_array($vysledek);

    $vysledek2=mysql_query("SELECT * FROM candidates where id='".$zaznam['ID_Candidate1']."'"); $zaznam2=mysql_fetch_array($vysledek2); $data['0']['prijmeni'] = $zaznam2['Prijmeni'];

    $vysledek3=mysql_query("SELECT * FROM candidates where id='".$zaznam['ID_Candidate2']."'"); $zaznam3=mysql_fetch_array($vysledek3); $data['1']['prijmeni'] = $zaznam3['Prijmeni'];

    $vysledek4=mysql_query("SELECT * FROM candidates where id='".$zaznam['ID_Candidate3']."'"); $zaznam4=mysql_fetch_array($vysledek4); $data['2']['prijmeni'] = $zaznam4['Prijmeni'];

    Odpovědi

    24.10.2008 21:24 Petr Svoboda | skóre: 13 | blog: * | Příbram
    Rozbalit Rozbalit vše Re: Propojeni 2 tabulek v PHP
    Nebudu zabíhat do zbytečných detailů. Zkusil bych cosi jako
    SELECT * FROM polls p, candidates c1, candidates c2
    WHERE p.ID = $idpoll AND p.ID_Candidate1 = c1.ID AND p.ID_Candidate2 = c2.ID
    
    S dovolením jsem vynechal 3. a 4. kandidáta, ale jak je přidat je snad zřejmé.

    Nicméně bych se spíš zkusil zamyslet nad změnou schématu (pokud je to možné). Asi bych zvolil něco jako:
    • polls(id)
    • votes(id, id_poll, id_candidate, votes)
    • candidates(id, name)
    Je to výrazně flexibilnější, na druhou stranu budou složitější inserty.

    Select by pak mohl být nějak takto:
    SELECT * FROM votes v, candidates c
    WHERE v.id_poll = $idpoll AND v.id_candidate = c.id
    
    26.10.2008 11:50 Tomyx007
    Rozbalit Rozbalit vše Re: Propojeni 2 tabulek v PHP
    Dekuji za odpoved - fungule to. Slo by jetse nejak resit, pokud ma v tabulce "polls" nektery napr. sloupec ID_Candidate3 hodnotu 0 (stejne tak sloupec Votes3 ma 0), tak dotaz nevypise zadny zaznam, kdyz se zmeni podminka z AND na OR, tak se jich vypise zase mnoho, slo by toto nejka resit?
    default avatar 26.10.2008 14:53 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Propojeni 2 tabulek v PHP
    Příloha:
    Předpokládám, že hodnotou nula (0) řešíš nepovinnou vazbu. Od toho je NULL a naštěstí to jde velice jednoduše opravit ;-) Předpokládám testovací data z přílohy. Předtím, než nahodíme referenční integritu, musíme data pročistit.

    Před vlastní modifikací jen povolíme NULL hodnoty:
    ALTER TABLE polls MODIFY id_candidate1 NULL
    /
    
    ALTER TABLE polls MODIFY id_candidate2 NULL
    /
    
    ALTER TABLE polls MODIFY id_candidate3 NULL
    /
    
    ALTER TABLE polls MODIFY id_candidate4 NULL
    /
    Pak nastavíme neplatné klíče na NULL:
    UPDATE polls p
    SET
        p.id_candidate1 = NULL
    WHERE
        NOT EXISTS (SELECT
                1
            FROM
                candidates cc
            WHERE
                cc.id = p.id_candidate1)
    /
    
    UPDATE polls p
    SET
        p.id_candidate2 = NULL
    WHERE
        NOT EXISTS (SELECT
                1
            FROM
                candidates cc
            WHERE
                cc.id = p.id_candidate2)
    /
    
    UPDATE polls p
    SET
        p.id_candidate3 = NULL
    WHERE
        NOT EXISTS (SELECT
                1
            FROM
                candidates cc
            WHERE
                cc.id = p.id_candidate3)
    /
    
    UPDATE polls p
    SET
        p.id_candidate4 = NULL
    WHERE
        NOT EXISTS (SELECT
                1
            FROM
                candidates cc
            WHERE
                cc.id = p.id_candidate4)
    /
    
    COMMIT
    /
    Poté nahoíme referenční integritu:
    ALTER TABLE candidates ADD CONSTRAINT pk_candidates PRIMARY KEY (id)
    /
    
    ALTER TABLE polls ADD CONSTRAINT fk_vote_candidate1 FOREIGN KEY (id_candidate1) REFERENCES candidates (id)
    /
    
    ALTER TABLE polls ADD CONSTRAINT fk_vote_candidate2 FOREIGN KEY (id_candidate2) REFERENCES candidates (id)
    /
    
    ALTER TABLE polls ADD CONSTRAINT fk_vote_candidate3 FOREIGN KEY (id_candidate3) REFERENCES candidates (id)
    /
    
    ALTER TABLE polls ADD CONSTRAINT fk_vote_candidate4 FOREIGN KEY (id_candidate4) REFERENCES candidates (id)
    /
    Každopádně: ve všech případech funguje tento SELECT statement:
    SELECT
        c1.prijmeni AS candidate1_surname,
        p.votes1 AS candidate1_votes,
        c2.prijmeni AS candidate2_surname,
        p.votes2 AS candidate2_votes,
        c3.prijmeni AS candidate3_surname,
        p.votes3 AS candidate3_votes,
        c4.prijmeni AS candidate4_surname,
        p.votes4 AS candidate4_votes
    FROM
        polls p
            LEFT JOIN candidates c1 ON (p.id_candidate1 = c1.id)
            LEFT JOIN candidates c2 ON (p.id_candidate2 = c2.id)
            LEFT JOIN candidates c3 ON (p.id_candidate3 = c3.id)
            LEFT JOIN candidates c4 ON (p.id_candidate4 = c4.id)
    /
    Tak hodně štěstí. (V příloze máš kompletní skript na hraní.)
    26.10.2008 20:34 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Propojeni 2 tabulek v PHP
    k joinom ... teda neviem ako mysql, ale nechýba ti tam outer ?
    default avatar 26.10.2008 20:46 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Propojeni 2 tabulek v PHP
    LEFT OUTER JOIN a LEFT JOIN jsou ekvivalentní. Klíčové slovo OUTER je nepovinné, protože LEFT nebo RIGHT JOIN je vždy "OUTER".
    default avatar 26.10.2008 14:24 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Propojeni 2 tabulek v PHP
    A co takhle?
    SELECT
        c1.prijmeni AS candidate1_surname,
        p.votes1 AS candidate1_votes,
        c2.prijmeni AS candidate2_surname,
        p.votes2 AS candidate2_votes,
        c3.prijmeni AS candidate3_surname,
        p.votes3 AS candidate3_votes,
        c4.prijmeni AS candidate4_surname,
        p.votes4 AS candidate4_votes
    FROM
        polls p
            LEFT JOIN candidates c1 ON (p.id_candidate1 = c1.id)
            LEFT JOIN candidates c2 ON (p.id_candidate2 = c2.id)
            LEFT JOIN candidates c3 ON (p.id_candidate3 = c3.id)
            LEFT JOIN candidates c4 ON (p.id_candidate4 = c4.id)
    /
    

    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.