IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Aktuální svátek na webu

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Jiří Jirout:5.4.2018 18:01

Ahoj chtěl bych pomoct udělal sem si v textovým souboru výpis všech českých svátků a chci udělat pomocí php zjistit jaký je datum a k tomu přiřadit svátek.Mělo by to vypadat následovně "Dnes je 5.4.2018 a svátek má Miroslava.".Čás­tečně to mám hotový ale nedokážu přiřadit ten svátek z textovýho souboru mám to jen tak, že natvrdo dám svátek do proměné a vypíšu ji.
Zde dávám zdrojový kod

(https://www.itnetwork.cz/…lighter/1055)
(https://www.itnetwork.cz/…lighter/1056)

 
Odpovědět
5.4.2018 18:01
Avatar
Lasvit
Člen
Avatar
Lasvit:5.4.2018 18:15

Sorry, ale takhle jsem se dlouho nenasmál :D jinak se prosím koukni na nějakou knihovnu .. třeba

https://github.com/…ech-holidays

protože to co si napsal je blbost.

 
Nahoru Odpovědět
5.4.2018 18:15
Avatar
Jiří Jirout:5.4.2018 18:19

Ok ale já nechci hotové řešení a nějaký prográmek co to udělá za mě.Jediný co chci abych ty svátky neměl uložený v php ale externě v textovým dokumentu.

 
Nahoru Odpovědět
5.4.2018 18:19
Avatar
Lasvit
Člen
Avatar
Odpovídá na Jiří Jirout
Lasvit:5.4.2018 18:31

Tak místo v textáku to rovnou ulož třeba v xml a načti to php funkcí.

P.S. Do toho xml si hod i datum at nemusíš dělat takhle hloupé řešení a místo tolika ifu použiješ 1.

 
Nahoru Odpovědět
5.4.2018 18:31
Avatar
Jiří Jirout:5.4.2018 18:34

Dobře děkuji.

 
Nahoru Odpovědět
5.4.2018 18:34
Avatar
Odpovídá na Lasvit
Neaktivní uživatel:5.4.2018 21:46

JSON bude jednodušší. Případně načíst do pole, serializovat a uložit.

Nahoru Odpovědět
5.4.2018 21:46
Neaktivní uživatelský účet
Avatar
Lasvit
Člen
Avatar
Odpovídá na Neaktivní uživatel
Lasvit:5.4.2018 22:12

Nebo, je jedno... všechno lepší jak to co poslal napsal :D

 
Nahoru Odpovědět
5.4.2018 22:12
Avatar
Odpovídá na Jiří Jirout
Peter Schoeller:18.4.2018 8:04

Ahoj. Ak to chces mat externe, uloz to do databaze (v mojom pripade meniny_rok), ktora bude mat 3 stlpce (id, datum, name_cz)
Datum si uloz do DB vo formate 1952-01-01, (alebo akykolvek prestupny rok). V DB budes mat 366 riadkov a potom jednoduchym prikazom dostanes pozadovany vysledok.
Napr.:

$sql = 'SELECT * FROM meniny_rok WHERE MONTH(datum) = MONTH(NOW()) AND DAY(datum) = DAY(NOW())';
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0 ) {
        while($row = mysqli_fetch_assoc($result)) {
                echo 'Dnes je ' .utf8_encode(strftime("%e. %B %Y")). ' a svatek oslavuje ' .$row['name_cz']. '.';
                }
}
 
Nahoru Odpovědět
18.4.2018 8:04
Avatar
Odpovídá na Jiří Jirout
Peter Schoeller:18.4.2018 8:14

Druhy sposob je pomocou JS, ja ho mam ulozeny pod menom "calen_mien_sk­.js"
Priklad:

        tyden = new Array("nedeľa", "pondelok", "utorok", "streda", "štvrtok", "piatok", "sobota");
        datum = new Date;
        with(datum) {
        den = getDay();
}
        datum = new Date();
        with(datum){
        d = getDate();
        m = getMonth() + 1;
        if (document.all)
        r = getYear()
        else r = getYear() + 1900
}
        rok = new Array("januára", "februára", "marca", "apríla", "mája", "júna", "júla", "augusta", "septembra", "októbra", "novembra", "decembra");
        datum = new Date;
        with (datum){
        mesic = getMonth();
}
function getName(d)
{
   den=d.getDate();
   switch (d.getMonth()+1) {
   case 1:
      if (den== 1) return "Nový rok";
      if (den== 2) return "Alexandra";
.
.
.
      if (den==30) return "Ema";
      if (den==31) return "Emil";
   case 2:
      if (den== 1) return "Tatiana";
      if (den== 2) return "Erik, Erika";
.
.
.
      if (den==30) return "Andrej, Ondrej";
   case 12:
      if (den== 1) return "Edmund";
      if (den== 2) return "Bibiána";
.
.
.
      if (den==30) return "Dávid";
      if (den==31) return "Silvester";
   }
}
var today = new Date();
var tommorow = new Date; tommorow.setDate(tommorow.getDate()+1);
document.open();
document.write("SK: <span style=\"color:Chocolate;\">"+getName(today)+"<\/span>, zajtra <span style=\"color:Olive;\">"+getName(tommorow)+"<\/span>.");

a potom jednoducho v php zavolas ten JS prikazom:

<script type="text/javascript" src="../path/to_JS/calen_mien_sk.js"></script>
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
18.4.2018 8:14
Avatar
Jitka Peterková:27.6.2023 21:51

Kdyby někdo potřeboval, dávám k dispozici kód, použita jsou jména z českého kalendáře, vypsat lze shortcodem [nameday] kdekoliv na webu.
"Kód ke stažení": https://github.com/…hortcode.git

 
Nahoru Odpovědět
27.6.2023 21:51
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.