Zprovoznění FullCalendar pod ajax a php – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zprovoznění FullCalendar pod ajax a php – PHP – Fórum – Programujte.comZprovoznění FullCalendar pod ajax a php – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
jAkErCZ0
Stálý člen
2. 10. 2018   #1
-
0
-

Zdravím,

mám takový problém snažím se načítat eventy z db ale a vracet v json aby to mohlo js přečíst.

to dělám vytahuji z db data

    public function getEvents()
    {
       $result = $this->database->table(self::TABLE_NAME)->order('id')->fetchAll();

        foreach ($result as $row)
       {
           $data[] = [
               'id'   => $row["id"],
               'title' => $row['title'],
               'start' => DateTime::from($row['start'])->format('Y-m-d H:m:s'),
               'end' => DateTime::from($row['end'])->format('Y-m-d H:m:s'),
               'className' => $row['className']
           ];
       }
        return Json::encode($data, Json::PRETTY);
    }

A vracím je jako json... potom v ze šablony pomocí makra 
{plink Calendar:loadEvents}

si načítám actionLoadEvents

    public function actionLoadEvents(){
            $data = $this->calendarRepository->getEvents();
            $this->redrawControl('calendar');
            bdump($data);
        $this->sendResponse(new JsonResponse($data));
    }

a v js to mám takto...

 var $action = document.getElementById('calendar').getAttribute('data-actions');

 events: {
                url: $action,
                error: function()
                {
                    alert("error");
                },
                success: function()
                {
                    console.log("successfully loaded");
                }
            }

Console mi vrací successfully loaded ale zároveň chybu

fullcalendar.min.js:6 Uncaught TypeError: Cannot read property 'hasTime' of undefined
    at P (fullcalendar.min.js:6)
    at V (fullcalendar.min.js:6)
    at A (fullcalendar.min.js:6)
    at F (fullcalendar.min.js:6)
    at fullcalendar.min.js:6
    at Object.success (fullcalendar.min.js:6)
    at i (jquery.min.js:2)
    at Object.fireWith [as resolveWith] (jquery.min.js:2)
    at z (jquery.min.js:4)
    at XMLHttpRequest.<anonymous> (jquery.min.js:4)

a dump mám 

"[
    {
        "id": 1,
        "title": "Test",
        "start": "2018-10-01 14:10:59",
        "end": "2018-10-01 14:10:59",
        "className": " ... " (342)

Co dělám blbě? Když jsem si dohledával tak všude jsem viděl že to mám dobře ale i tak mi to nezobrazuje v kalendáři....

Děkuji všem za pomoc :)

Nahlásit jako SPAM
IP: 109.183.230.–
Kit+15
Guru
2. 10. 2018   #2
-
0
-

#1 jAkErCZ
Chybí ti property hasTime.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:64f4:ddc6:2270:eb08...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
jAkErCZ0
Stálý člen
2. 10. 2018   #3
-
0
-

#2 Kit
No to sem pochopil z toho erroru ale nikde sem se nesetkal s tím že by ho tam někdo někam dával...

Nahlásit jako SPAM
IP: 109.183.230.–
Kit+15
Guru
2. 10. 2018   #4
-
0
-

#3 jAkErCZ
Tak si ho zkus přidat do $data a uvidíš.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:64f4:ddc6:2270:eb08...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
jAkErCZ0
Stálý člen
2. 10. 2018   #5
-
0
-
Nahlásit jako SPAM
IP: 109.183.230.–
Kit+15
Guru
2. 10. 2018   #6
-
0
-
Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:64f4:ddc6:2270:eb08...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
jAkErCZ0
Stálý člen
2. 10. 2018   #7
-
0
-

#6 Kit
Však tam mám

id	int(11) Auto Increment	 
title	varchar(255)	 
start	datetime [0000-00-00 00:00:00]	 
end	datetime [0000-00-00 00:00:00]	 
className	enum('bg-info','bg-purple','bg-success','bg_warning','bg-danger') [bg-info]
Nahlásit jako SPAM
IP: 109.183.230.–
Kit+15
Guru
2. 10. 2018   #8
-
0
-

#7 jAkErCZ
Co tam pohledávají ty nuly místo data a času?

Sloupec "end" tam sice máš, ale zřejmě je prázdný.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:64f4:ddc6:2270:eb08...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
jAkErCZ0
Stálý člen
2. 10. 2018   #9
-
0
-

#8 Kit
Byl to defaultní parametr už je pryč... Co teda?

Btw. Když se podíváš výš na dump tak vidíš že prázdný není.

Nahlásit jako SPAM
IP: 109.183.230.–
Kit+15
Guru
2. 10. 2018   #10
-
0
-

#9 jAkErCZ
No co? Musíš počítat s tím, že ti databáze vrátí nějakou prázdnou hodnotu. V tom případě tam místo ní dej třeba start + 1 hodina.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:64f4:ddc6:2270:eb08...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
jAkErCZ0
Stálý člen
2. 10. 2018   #11
-
0
-

#10 Kit
Ale mě databáze vrací ten čas přesně jak má být... nemám tam žádnou nulovou hodnotu...

"start": "2018-10-01 14:10:59",
"end": "2018-10-01 14:10:59",
Nahlásit jako SPAM
IP: 109.183.230.–
Kit+15
Guru
2. 10. 2018   #12
-
0
-

#9 jAkErCZ
end - start == 0, Javascript to může vyhodnotit jako false.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:64f4:ddc6:2270:eb08...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
jAkErCZ0
Stálý člen
2. 10. 2018   #13
-
0
-

#12 Kit
Však mě to žádný null nevrací..

INSERT INTO `events` (`id`, `title`, `start`, `end`, `className`) VALUES
(1,	'Test',	'2018-10-01 14:29:59',	'2018-10-02 14:29:59',	'bg-info'),
(2,	'Další den',	'2018-10-02 11:06:22',	'2018-10-02 11:06:22',	'bg-success');

Vrací mi to datum a čas přesně tak jak fullcalendar.js čeká..

Nahlásit jako SPAM
IP: 109.183.230.–
jAkErCZ0
Stálý člen
2. 10. 2018   #14
-
0
-

Jinak při použítí..

        var defaultEvents =  [{
                title: 'Event Title1',
                start: 	'2018-10-01 14:10:59',
                end: '2018-10-01 14:10:59',
                className: 'bg-info'
            }];

mi to funguje přesně jak má... ale když to stejné předávám pomocí presenteru tak to už se mu nelíbí...

Nahlásit jako SPAM
IP: 109.183.230.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Zprovoznění SNMP pod PHP4 — založil Iceman731

JQuery ajax + php — založil Marek

PHP/AJAX/jQuery — založil Matthew

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý