NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Ako z 2 tabuliek vybrať podľa dátumu tie najnovšie dáta

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
oliver.olejnik:29.10.2016 9:48

Zdravím, chcem zobraziť posledných 10 pohybov na účte (z tabuliek príjmov a výdajov). Ako to urobiť tak, aby sa zobrazili od tých najnovších po najstaršie, resp. ako napísať nižšiu podmienku funkčne? Tu je kus kódu, no tá podmienka nefunguje správne.. Dokázali by ste mi ju upraviť? Vďaka!

$objekt_vysledkov = mysqli_query($db_spojenie, "SELECT * FROM prijmy WHERE id_uzivatela_prijmy = '$id' ORDER BY datum_prijmu DESC LIMIT 10");
                if (!$objekt_vysledkov) die ('Chyba v príkaze SQL: ' . mysqli_error($db_spojenie));

    $objekt_vysledkov2 = mysqli_query($db_spojenie, "SELECT * FROM vydaje WHERE id_uzivatela_vydaje = '$id' ORDER BY datum_vydaja DESC LIMIT 10");
                if (!$objekt_vysledkov2) die ('Chyba v príkaze SQL: ' . mysqli_error($db_spojenie));

     while (($riadok = mysqli_fetch_array($objekt_vysledkov)) && ($riadok2 = mysqli_fetch_array($objekt_vysledkov2))){

       if($riadok['datum_prijmu'] > $riadok2['datum_vydaja']){
          echo $riadok['suma_prijmu'] . $riadok['datum_prijmu'] . $riadok['kategoria_prijmu'] . $riadok['popis_prijmu'];
       }

       else {
          echo $riadok2['suma_vydaja'] . $riadok2['datum_vydaja'] . $riadok2['kategoria_vydaja'] . $riadok2['popis_vydaja'];
       }

     }
 
Odpovědět
29.10.2016 9:48
Avatar
CZkiniCZ
Člen
Avatar
CZkiniCZ:29.10.2016 11:53

Nebylo by lepší použít JOIN? Například tady máš příklad podobný tomu čím se zabýváš. http://www.w3schools.com/…sql_join.asp

Editováno 29.10.2016 11:53
Nahoru Odpovědět
29.10.2016 11:53
Age of the geek.
Avatar
oliver.olejnik:29.10.2016 12:29

Neviem, na w3schools som to nepochopil, a preto som prišiel sem. Vedel by si mi to upraviť do funkčnej podoby? Naozaj si s tým neviem rady, skúšal som snáď všetko..

 
Nahoru Odpovědět
29.10.2016 12:29
Avatar
Odpovídá na oliver.olejnik
Neaktivní uživatel:29.10.2016 14:01

Možná je to trochu chyba návrhu, jednodušší život bys měl s jednou tabulkou transakcí pro kladné příjmy a záporné výdaje. Každopádně teď se to dá řešit tak, že vyselektíš příjmy a výdaje, přejmenuješ jim sloupečky kategorie_prijmu a katerogorie_vydaje na kategorie (a všechny ostatní co potřebuješ), spojíš tyhle dva selecty unionem a pak to celý seřadíš a aplikuješ limit.

Editováno 29.10.2016 14:02
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
29.10.2016 14:01
Neaktivní uživatelský účet
Avatar
oliver.olejnik:29.10.2016 14:41

už som to spravil cez union, diky moc :)

 
Nahoru Odpovědět
29.10.2016 14:41
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.