PHP script má závisieť od mesiacov – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

PHP script má závisieť od mesiacov – PHP – Fórum – Programujte.comPHP script má závisieť od mesiacov – PHP – Fórum – Programujte.com

 

Martin
~ Anonymní uživatel
1542 příspěvků
7. 2. 2017   #1
-
0
-

Ahoj, riešim predpoveď počasia v php scripte. Rôzne sú závislosti v zimnom období a iné v letnom. To znamená, že potrebujem 2 PHP scripty, jeden pre leto, druhý pre zimu. Neviem ale ako to urobiť. Môžete mi prosím napísať jednoducho pod čo dať script jeden a druhý? Potrebujem: ZIMA --> Október - Apríl a Leto --> Máj - September. Potrebujem to napríklad od 1.5 do 30.9. Do posledného dňa v mesiaci. Ďakujem za pomoc.

Nahlásit jako SPAM
IP: 84.16.53.–
gna
~ Anonymní uživatel
1215 příspěvků
8. 2. 2017   #2
-
0
-

To je zase dotaz. Na co přesně se ptáš?? 

if (chci pro leto)
{
	udelam pro leto
}
else
{
	udelam pro zimu
}
Nahlásit jako SPAM
IP: 213.211.51.–
peter
~ Anonymní uživatel
3621 příspěvků
8. 2. 2017   #3
-
0
-

http://php.net/manual/en/function.date.php
a = date(1.5.)
b = date(30.9.)
c = time() //to je aktualni datum
A pak to jen pres if porovnas.
if (a < c < b) {leto...}
else {zima...}

Samozrejme to musis napsat phpkove. To jsem napsal jen pro nazornost.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:ec50:db...–
Martin
~ Anonymní uživatel
1542 příspěvků
8. 2. 2017   #4
-
0
-

Mám error  Parse error: syntax error, unexpected '<'  Ako mám upraviť tú značku menší?

 <?php  
$summer1 = date(1.5);
$summer2 = date(30.9);
$winter1 = date(1.5);
$winter2 = date(30.4);
$today = date("j.n");
if($summer1 < $today < $summer2){
echo 'Leto';
}
else{
echo 'Zima';
}
?>
Nahlásit jako SPAM
IP: 84.16.53.–
peter
~ Anonymní uživatel
3621 příspěvků
8. 2. 2017   #5
-
0
-

http://php.net/manual/en/control-structures.if.php
V online dokumentaci je fura prikladu od uzivatelu. samozrejme si to musis upravit pro svoje znamenka. || je OR, && je AND.

<?php
if( ($a==1 || $a==2) && ($b==3 || $b==4) && ($c==5 || $c==6) ) {
    //do that something here.
}
?>

Tez by se dal pouzit rozdil ($cas0 - $cas1)>0.

A tez by mozna bylo dobre si ty cisla vypsat.
var_dump($summer1, $summer2, $winter1, $winter2, today);

http://php.net/manual/en/function.date.php
Po precteni bys zjistil zajimavou vec, ze datum se vytvari spis pres mktime. Ze date naopak z timestamp vytvari text. retezec v nejakem formatu.

Example #3 date() and mktime() example
<?php
$tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
$nextyear  = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);
?>
Nahlásit jako SPAM
IP: 2001:718:2601:26c:ec50:db...–
peter
~ Anonymní uživatel
3621 příspěvků
8. 2. 2017   #6
-
0
-

Jo, jestli to nevis, tak mezi porovnavaci znamenko lze dat jel jedno cislo vlevo a jedno vpravo. Pak to treba spojit s dalsi podminkou.
neco1>0 && neco2<neco1 // nejde to napsat neco2<neco1>0

Nahlásit jako SPAM
IP: 2001:718:2601:26c:ec50:db...–
Martin
~ Anonymní uživatel
1542 příspěvků
8. 2. 2017   #7
-
0
-

#6 peter 

 <?php  
$summer1 = date(1.5);
$summer2 = date(30.9);
$winter1 = date(1.10);
$winter2 = date(30.4);
$today = date("j.n");
if($summer1 <= $today && $today <= $summer2){
echo 'Leto';
}
else{
echo 'Zima';
}
?>

Vypisuje mi to Leto.. ale prečo? :(

Nahlásit jako SPAM
IP: 84.16.53.–
gna
~ Anonymní uživatel
1215 příspěvků
8. 2. 2017   #8
-
0
-

Proč jako formátovací řetězec dáváš čísla? A co od porovnání vrácených řetězců čekáš?

Nahlásit jako SPAM
IP: 213.211.51.–
Martin
~ Anonymní uživatel
1542 příspěvků
9. 2. 2017   #9
-
0
-

#8 gna
tak mi to prosím uprav :)

Nahlásit jako SPAM
IP: 84.16.53.–
peter
~ Anonymní uživatel
3621 příspěvků
9. 2. 2017   #10
-
0
-

A nepsal jsem ti, ze date(), ackoliv jsem to prvne radil, dela neco jineho a mas pouzit mktime()? Presto tam stale date() pouzivas. Ono to tak nejak lze vycist i z tech prikladu v dokumentaci, kde to tam nekdo pouzival.


gna narazi na to, ze...
http://php.net/…ate.php ;

Description
string date ( string $format [, int $timestamp = time() ] )

vstupy: $format ('d.m.Y H:i:s'), $timestamp (1486648195)
vystupy: string ('09.02.2017 14:48:15')
https://www.functions-online.com/date.html
... date() prevadi ciselny udaj timestamp (cislo, pocet milisekund od roku 1970) na retezec citelny pro cloveka, datum. Jako parametr ma zpusob formatovani + ciselny udaj. Pokud cislo neuvedes, pouzije aktualni cas. Viz stranka http://www.gaijin.at/olsutc.php , ktera ukazuje aktualni Unix Zeitstempel = 1486648206
Cili, zrovna tuto funkci nechces. Chces opacnou, to je mktime(), kde zadas cisla den, mesic, rok a vyrobi ti timestamp. Funkce time() dela totez pro aktualni cas. No, a dve cisla uz pak normalne muzes porovnavat.
A druha vec, pro to date je treba zadavat format vystupu jako string, v apostrofech. date('d.m.Y H:i:s'). Ty pismena jsou vysvetlene v te velke tabulce v dokumentaci u date.
'd.m.Y H:i:s' = '09.02.2017 14:48:15'
'Y/m/d H:i:s' = '2017/02/09 14:48:15'

Nahlásit jako SPAM
IP: 2001:718:2601:26c:e8d6:d1...–
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, 35 hostů

Podobná vlákna

PHP script se špatně vyhodnotí — založil Přemysl

 

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