Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP+jQuery] zakres dni w kalendarzu
dopelganger
post 3.01.2014, 11:13:19
Post #1





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 27.10.2012

Ostrzeżenie: (0%)
-----


cześć mam problem, korzystam z komponentu jquery datepicker i chciałbym w kalendarzu zaznaczyć zakres dni.
Z bazy pobieram początkową date i końcową (zapisaną w formacie yyymmdd)

np:
20140101 - początkowa
20140103 - końcowa

jak zaznaczyć środkową date w kalendarzu: 20140102 itd, rozpiętości mogą być większe

prosze o pomoc.

  1. $sql = $db->query("SELECT * FROM kalendarz");
  2. $num = $sql->num_rows;
  3.  
  4. ?>
  5.  
  6. <script>
  7. var dateArray = new Array();
  8.  
  9. <?php
  10.  
  11. for ($i=1;$i<=$num;$i++)
  12. {
  13. $row = $sql->fetch_assoc();
  14.  
  15. $do = $row["data_koncowa"]; // yyyymmdd
  16. $od = $row["data_poczatkowa"]; // yyyymmdd
  17.  
  18. // $date1 i $date2 , $link1 i $link2 - pominąłem tutaj aby nie mieszać, date1 i date2 są po prostu przeformatowane do postaci: mm/dd/yyyy (aby pokazać je w kalendarzu)
  19.  
  20. echo "dateArray.push({date: new Date('".$data1."'), link: '".$link1."', title: ''});"; // data początkowa
  21. echo "dateArray.push({date: new Date('".$data2."'), link: '".$link2."', title: ''});"; // data końcowa
  22.  
  23. }
  24.  
  25. ?>


Ten post edytował dopelganger 3.01.2014, 11:14:24
Go to the top of the page
+Quote Post
rocktech.pl
post 3.01.2014, 11:41:24
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


Witam.

Wpleć ten kod odpowiednio ...

  1.  
  2. $begin = new DateTime('2013-08-31'); //$row["data_poczatkowa"]
  3. $end = new DateTime('2013-09-30'); //$row["data_koncowa"]
  4.  
  5. $interval = new DateInterval('P1D');
  6. $daterange = new DatePeriod($begin, $interval, $end);
  7.  
  8.  
  9. foreach ( $daterange as $date ) {
  10. echo "dateArray.push({date: new Date('". $date->format("Y/m/d")."'), link: '".$link1."', title: ''});";
  11. }
  12.  


Ten post edytował rocktech.pl 3.01.2014, 11:43:10


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
dopelganger
post 3.01.2014, 12:08:59
Post #3





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 27.10.2012

Ostrzeżenie: (0%)
-----


fajnie działa, tylko że jak podstawie zmienne to nie działa , może coś źle robie?

  1. $od_rok = substr($row["data_rozpoczecia"],0,4);
  2. $od_miesiac = substr($row["data_rozpoczecia"],4,2);
  3. $od_dzien = substr($row["data_rozpoczecia"],6,2);
  4.  
  5. $dat1 = $od_rok.'-'.$od_miesiac.'-'.$od_dzien;
  6. $begin = new DateTime($dat1);
  7.  
  8. // analogicznie $dat2...


Ten post edytował dopelganger 3.01.2014, 12:10:04
Go to the top of the page
+Quote Post
rocktech.pl
post 3.01.2014, 12:13:42
Post #4





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


Do konstruktora obiektu DateTime możesz przekazać bezpośrednio string w formacie YYYYMMDD.

  1. $begin = new DateTime($row["data_rozpoczecia"]);


Ten post edytował rocktech.pl 3.01.2014, 12:14:52


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
dopelganger
post 3.01.2014, 12:17:12
Post #5





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 27.10.2012

Ostrzeżenie: (0%)
-----


Cytat(rocktech.pl @ 3.01.2014, 12:13:42 ) *
Do konstruktora obiektu DateTime możesz przekazać bezpośrednio string w formacie YYYYMMDD.

  1. $begin = new DateTime($row["data_rozpoczecia"]);


dziwne, zaznacza wszystkie daty , dni w kalendarzu ...
(działa dobrze jak podam przykładowe daty jak mi podałeś, a jak przekazuje zmienne to już nie działa )
Go to the top of the page
+Quote Post
rocktech.pl
post 3.01.2014, 12:25:11
Post #6





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


  1. var_dump($row["data_rozpoczecia"]);


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
dopelganger
post 3.01.2014, 12:31:03
Post #7





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 27.10.2012

Ostrzeżenie: (0%)
-----


Cytat(rocktech.pl @ 3.01.2014, 12:25:11 ) *
  1. var_dump($row["data_rozpoczecia"]);



ahh to mój błąd ;////

dziękuje Ci bardzo za pomoc, działa bardzo dobrze
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 07:32