| | |
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Autor | Správa |
---|
Registrovaný: 30.11.10 Prihlásený: 28.12.15 Príspevky: 6 Témy: 2 | Napísal Werus: 23.12.2015 23:51 | |
|
Ahojte, robim SQL dotaz na to, aby mi vypisalo aku hodinu aktualne vyucuje ucitel.(napr. ak bude 8 hodin rano, tak mi zobrazi ze ten a ten ucitel vyucuje napr. slovencinu) Mam v databazi tabulku rozvrh a tam mam ulozene data o zaciatku, konci hodin a pod. Tieto hodiny su ulozene v datetime. A mam problem, ako to prepojit s php a zobrazit? Mam to momentálne takto: Kód: $stmt3 = $db->prepare("SELECT substring(lessons.start_time, 11,6), substring(lessons.end_time,11,6), FROM lessons INNER JOIN lectors ... WHERE lessons.start_time >= (' ".date('Y-m-d H:i:s')." ') AND lessons.end_time <= (' ".date('Y-m-d H:i:s')." ') AND lectors.lector_id=:id ORDER BY ... "); $stmt3->bindValue(":id", intval($_GET["id"])); $stmt3->execute(); Ak dam namiesto date normalne casove rozmedzie, tak mi vypise ten predmet v tom case, ale v tomto pripade vypise len Array(). Zobrazujem to pomocou latte sablony, v ktorej som si dala podmienku, ze ak je pole prazdne, tak vypise, ze ucitel nikde neuci, ale ani tuto spravu mi neche zobrazit.
|
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 24.12.2015 0:34 | |
|
Kód: $stmt3 = $stmt3->fetchAll(PDO::FETCH_ASSOC); //vrati pole vsetkych vysledkov, ktore ti ten sql select najde var_dump($stmt3); //si mozes pozriet co sa v tom poli nachadza predtym ako si budes cez latte formatovat vystup podla tvojich poziadaviek
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 24.12.2015 8:41 | |
|
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 30.11.10 Prihlásený: 28.12.15 Príspevky: 6 Témy: 2 | Napísal autor témy Werus: 25.12.2015 19:03 | |
|
Between som nasla, ze porovnava len v 1 stlpci, ja porovnavam medzi 2 stlpcami. Tie data su ulozene vo formate 0000-00-00 08:45:00 napr. a var_dump mi vypise array (size=0) empty ... ... comu nerozumiem, lebo ked nahradim 'Y-m-d H:i:s' za 0000-00-00 08:00:00 a 0000-00-00 08:45:00 tak mi normalne vypise, aky predmet sa vyucuje v tu dobu... A teraz vecer, ked sa uz nic nevyucuje by to malo vypisat, ze ucitel momentalne nevyucuje, .. ale ani to nevypise:/
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 25.12.2015 19:16 | |
|
Pozri sa na to ešte raz, pretože BETWEEN je presne na to, aby si neurobila hlúpu chybu v porovnaní. Takže to prepíš na between a potom porozmýšľaj, prečo to nešlo. Kód: WHERE tenDatum BETWEEN lessons.start_time AND lessons.end_time
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 30.11.10 Prihlásený: 28.12.15 Príspevky: 6 Témy: 2 | Napísal autor témy Werus: 25.12.2015 22:29 | |
|
Okay, a ako sa to prosím prepaja s php? Lebo toto sql mi vypisuje Array().. Nerozumiem, kde robim chybu. Inak rozmyslam, v tomto pripade je potrebne pouzit substring?
SELECT lessons.start_time, lessons.end_time FROM lessons INNER JOIN lectors ... WHERE '".date('Y-m-d H:i:s')."' BETWEEN lessons.start_time AND lessons.end_time
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 26.12.2015 8:09 | |
|
Nie, nie je potrebný substring, ak ti nevadí, že dostaneš celý datum a čas.
A ako sa to prepája s php napísal JanoF. Musíš použiť FetchAll.
A ak ti to stále nepôjde, pošli sem tvoj kód.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 30.11.10 Prihlásený: 28.12.15 Príspevky: 6 Témy: 2 | Napísal autor témy Werus: 26.12.2015 11:08 | |
|
ja to skusam v db a data sa mi zobrazia bez podmienky, ale s pomienkou uz nie, nerozumiem preco Kód: $stmt3 = $db->prepare(" SELECT l.schoolday, l.start_time, l.end_time, t.lectorsurname, sg.class_id, c.grade, s.subjectname FROM lessons l INNER JOIN lectors t ON l.lector_id=t.lector_id INNER JOIN studentgroups sg ON l.studentgroup_id=sg.studentgroup_id INNER JOIN classes c ON sg.class_id=c.class_id INNER JOIN subjects s ON l.subject_id=s.subject_id WHERE l.start_time <= CURTIME() AND l.end_time >= CURTIME() AND t.lector_id=:id ORDER By c.grade, l.schoolday, l.start_time"); $stmt3->bindValue(":id", intval($_GET["id"])); $stmt3->execute(); $data=$stmt3->fetchAll(); print_r($data);
$tplVars["vyucovanie"] = $stmt3->fetchAll(); a latte Kód: <tr> <th> Aktuálne vyučuje: </th> </tr> {foreach $vyucovanie as $aktual} {if !empty($aktual['grade'])} <tr> <td>{$aktual['grade']} </td> </tr> {/if} {if ($aktual['grade']) == NULL} <tr> <td> <span> Učiteľ momentálne nevyučuje </span></td></tr> {/if} {/foreach} Myslim, ze nevadi, ze to bude zobracovane s datumom, ja chcem zobrazt len rocnik v ktorom uci aktualne ucitel
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 26.12.2015 18:03 | |
|
Používaš tam dva krát po sebe fetchAll. To by si nemala, ten prvý fetchAll akoby "vyčerpá" všetky dáta a druhý už nevráti nič. Miesto toho druhého fetchu priraď jednoducho $data, ktoré máš už vytiahnuté pred tým.
Ďalej problém môže byť aj v dátach. Máš tam nejak veľa joinov. Neviem, či ti ich reálne treba - ak chceš zistiť LEN to, ČI učiteľ vyučuje, tak asi nie. Skús teda vyhádzať všetky nepotrebné joiny (tie posledné tri) a skús to spustiť tak. Ak ti to pôjde, tak problém bude v dátach a niečo sa ti tam v tých inner jinoch správne neprepojí. Tak môžeš použiť left joiny a skúmať, kde je chyba.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 30.11.10 Prihlásený: 28.12.15 Príspevky: 6 Témy: 2 | Napísal autor témy Werus: 27.12.2015 0:33 | |
|
Ja ten prvy join mazem, ten mam na to, aby mi zobrazilo, co tam je Ta tabulka je poprepajana, preto tolko joinov, ja chcem vypis ak vyucuje tak rocnik a predmet. Nerozumiem, preco mi tie data vypise bez tej podmienky, a s tou podmienkou vrati nula riadkov. Skusam aj left join, ale vypisuje tie iste riadky jak s inner:/
|
|
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| PHP programátor - PHP, MySQL, jQuery,X)Html/CSS v Ponuka práce | 0 | 1310 | 02.05.2011 12:08 magicmedia | | php ->mysql ->php Help.zoradit v PHP, ASP | 4 | 593 | 20.06.2009 12:44 KViki | | php+apache+mysql v Ostatné | 13 | 1295 | 06.07.2009 11:37 Ďuri | | PHP a MySQL [ Choď na stránku: 1, 2 ] v PHP, ASP | 30 | 2133 | 12.01.2009 13:09 jtomcik | | Programátor PHP/MySQL v Ponuka práce | 0 | 838 | 23.10.2010 17:06 brownsro1 | | MySQL + PHP + články v PHP, ASP | 7 | 616 | 17.10.2014 18:30 Jarvix | | PHP - MySQL - JSON v PHP, ASP | 17 | 418 | 05.05.2020 19:05 jumper | | PHP + MYSQL inzercia v PHP, ASP | 21 | 1858 | 02.09.2007 18:51 neopagan | | PHP a MySQL v PHP, ASP | 4 | 385 | 23.09.2013 23:50 shaggy | | PHP, MySQL koder v Ponuka práce | 1 | 902 | 12.07.2010 19:50 Murtagh | | mysql, php - pripojenie v PHP, ASP | 2 | 429 | 28.06.2012 18:06 Ďuri | | PHP a MYSQL v PHP, ASP | 16 | 865 | 02.05.2010 10:26 zdeniatqo | | MySQL a PHP v Databázy | 1 | 701 | 03.04.2011 8:09 Ďuri | | Problem PHP, MySQL v PHP, ASP | 11 | 498 | 17.05.2010 12:07 ricco24 | | PHP, MySQL programator v Ponuka práce | 0 | 789 | 23.10.2010 11:21 mondzo | | PHP a MYSQL v PHP, ASP | 4 | 600 | 10.06.2011 23:12 Sunnynko |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|