Zadejte hledaný výraz...

Jak zobrazit nejbližší termíny

unlucky
verified
rating uzivatele
(16 hodnocení)
11. 11. 2014 13:36:16
Chci zobrazit nejblizsi terminy dovolene.
Mam 12 terminu v array, chci zobrazit nejblizsich 6.
Problem spociva v tom, jestli bude napriklad mesic listopad a porovnany datum bude rijen, zobrazit ci ne? Po listopadu muze byt treba dalsich 6 terminu a ten sedmy, rijen se nema zobrazovat. A nebo obracene, rijnovy termin se bude zobrazovat jako posledni... Muze mi nekdo poradit?
edit: strucne receno, jak porovnat
11.12 a 21.5
11. 11. 2014 13:36:16
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067924
Martin
verified
rating uzivatele
(62 hodnocení)
11. 11. 2014 14:16:25
Ani po dvojím přečtení přesně nechápu, co potřebuješ. S datumy je lepší pracovat už na úrovni databáze. Ta má k tomu dobré funkce a data připraví jak potřebuješ.
11. 11. 2014 14:16:25
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067923
V jakém formátu máš ta data?
Nevidím v tom žádný problém, nejspíš jsi něco překombinoval.
11. 11. 2014 14:38:05
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067922
Fautzi
verified
rating uzivatele
(1 hodnocení)
11. 11. 2014 14:40:55
Stačí si pohrát s http://php.net/manual/en/book.datetime.php můžeš rozumně počítat s časem, ale pokud to vytahuješ z nějaké DB, rovnou bych to dělal v dotazu, aneb co můžeš udělat na straně DB udělej tam, ať se nemusíš mordovat s kódem někde jinde.
11. 11. 2014 14:40:55
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067921
David Musil
verified
rating uzivatele
(69 hodnocení)
11. 11. 2014 15:51:11
Rad bych pomohl, ale dotaz je psan dost pomatene.
11. 11. 2014 15:51:11
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067920
unlucky
verified
rating uzivatele
(16 hodnocení)
11. 11. 2014 16:41:43
data:
1.5=> svatek prace
1.6=> den deti
5.7 => jan hus
1.9 => skola
28.10 => statni svatek
5.12 => mikulas
24.12 => jezisek
1.1 => novy rok
Kdyz bude dneska 11.11, tak se zobrazi data nasledovne:
5.12, 24.12, 1.1, 1.5, 1.6, 5.7
konec skriptu, bylo zobrazeno 6 terminu.
Kdyz bude dneska 1.4:
tak se zobrazi
1.5, 1.6...5.12
konec skriptu...
premyslel jsem, ze pokud bude datum < dnesni datum, prida se znovu do fronty. Pokud ne, zobrazi se. Kdyz se zobrazi sesty, konec skriptu.
11. 11. 2014 16:41:43
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067919
Filip Šedivý
verified
rating uzivatele
(25 hodnocení)
11. 11. 2014 17:25:49
Nevím jestli je to přesně to co chcete, ale zkusil jsem na to napsat třídu
Vstupní hodnoty:
Výstup:
Další možnost metody vypis:
11. 11. 2014 17:25:49
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067918
unlucky
verified
rating uzivatele
(16 hodnocení)
11. 11. 2014 18:19:51
chybi Vam tam pocet, ale uz to funguje, diky moc :)
jeste dotaz, kdyz jako vstupni data budou bez roku, jak porovnavat? Zkousel jsem
$this->pole = $value;
moje vlastni verze, ale nejak to data neporovnava
$today=date("d.m");
$ttoday=strtotime($today);
$x=1;
$calendar_month=array("13.8","24.12","1.1","15.1","10.3","15.4","5.5","15.7","15.8","23.12");
$count=count($calendar_month);
for($i=0;$i<$count;$i++){
$d=strtotime($calendar_month);
//porovnani
if($d<$ttoday){
//kdyz je mensi, tak se znovu zaradi do fronty
$calendar_month[]=$calendar_month;
}else{
//jinak vypis
echo $calendar_month."
";
$x++;
}
//kdyz budu mit 6 vysledku, konec
if($x==6){
exit();
}
}
11. 11. 2014 18:19:51
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067917
James_Scott
verified
rating uzivatele
(7 hodnocení)
11. 11. 2014 19:48:15
Pokud ty datumy máš v DB, tak bych to řešil na DB úrovni (minimálně si to připravil). A když už to patlat v PHP, tak bych si ty datumy převedl do DateTime objektu, pracuje se s tím mnohem líp (a hlavně přehledněji).
11. 11. 2014 19:48:15
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067916
Filip Šedivý
verified
rating uzivatele
(25 hodnocení)
11. 11. 2014 19:55:10
Jamesy četl jsi první příspěvek? Protože kdyby ano, tak bys nepsal o databázi...
11. 11. 2014 19:55:10
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067915
James_Scott
verified
rating uzivatele
(7 hodnocení)
11. 11. 2014 20:28:23
Napsal filipsedivy;1139912
Jamesy četl jsi první příspěvek? Protože kdyby ano, tak bys nepsal o databázi...
Tak spíš člověk předpokládá, že to pole musel odněkud naplnit. A víc pravděpodobné je, že ty data má v DB..
Tak či tak DateTime by bylo lepší použít.
11. 11. 2014 20:28:23
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067914
Jan Stejskal
verified
rating uzivatele
(7 hodnocení)
11. 11. 2014 20:32:14
Napsal James_Scott;1139926
Tak spíš člověk předpokládá, že to pole musel odněkud naplnit. A víc pravděpodobné je, že ty data má v DB..
Tak či tak DateTime by bylo lepší použít.
Státní svátky jsou data dlouhodobě neměnná, bylo by tedy velmi nevhodné je načítat z databáze.
11. 11. 2014 20:32:14
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067913
Fido123
verified
rating uzivatele
(13 hodnocení)
11. 11. 2014 20:42:11
Napsal Jan Stejskal;1139928
Státní svátky jsou data dlouhodobě neměnná, bylo by tedy velmi nevhodné je načítat z databáze.
Proč by to bylo „velmi nevhodné“? A proč myslíš, že jsou to data dlouhodobě neměnná? A kde bys je teda uložil?
11. 11. 2014 20:42:11
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067912
unlucky
verified
rating uzivatele
(16 hodnocení)
12. 11. 2014 00:32:34
$today=date("m-d");
$ttoday="2010-".$today;
$x=0;
$calendar_month=array("2010-8-11","2010-12-24","2010-1-1","2010-1-15","2010-3-10","2010-4-15","2010-5-5","2010-7-15","2010-8-15","2010-12-23");
$count=count($calendar_month);
for($i=0;$i<$count;$i++){
$d=$calendar_month;
//porovnani
if(strtotime($d)
//kdyz je mensi, tak se znovu zaradi do fronty
$calendar_month[]=$calendar_month;
echo $calendar_month." nechci
";
}else{
//jinak vypis
echo $calendar_month."
";
$x++;
}
//kdyz budu mit 6 vysledku, konec
if($x==6){
exit();
}
}
output
2010-8-11 nechci
2010-12-24
2010-1-1 nechci
2010-1-15 nechci
2010-3-10 nechci
2010-4-15 nechci
2010-5-5 nechci
2010-7-15 nechci
2010-8-15 nechci
2010-12-23
Jak zobrazit datumy od ledna? Mne jde hlavne o to ziskat dny a mesice
edit: ok vyreseno. Pridal jsem dalsi podminku, ze kdyz se projdou vsechny moznosti, tak se dalsi automaticky prida
---------- Příspěvek doplněn 12.11.2014 v 12:34 ----------
nakonec se mi to podarilo nejak sesmolit, zde je vysledek
$today=date("Y-m-d");
$current_year=date("Y");
$next_year=$current_year+1;
$x=0;//pomocne cislo, pocet zobrazenych
$i=0;//pomocne cislo v loopu
$max_show=6;
$calendar_month=array(
'1-1' => 'bbb',
'1-15' => 'aaa',
'3-10' => 'xxx',
'4-15' => 'eee',
'5-5' => 'sss',
'7-15' => 'eees',
'8-15' => 'eer',
'12-23' => 'dldoi'
);
$new=array();
foreach ($calendar_month as $key=>$value) {
$i++;
if(strtotime($current_year."-".$key)>strtotime($today)){
echo $current_year."-".$key."
";
$x++;
}else{
$new=$value;
}
if($x==$max_show){
exit();
}
if($i>(count($calendar_month)-1)){
foreach ($new as $key=>$value){
if($x==$max_show){exit();}
echo $key."
";
$x++;
}
}
}
12. 11. 2014 00:32:34
https://webtrh.cz/diskuse/jak-zobrazit-nejblizsi-terminy#reply1067911
Pro odpověď se přihlašte.
Přihlásit