Autor Zpráva
teploušek
Profil *
Dobrý den, mám pole a v něm data - několik datumů a pomocí jednoduché podmínky chci, aby se mi zobrazila podmínka podle toho, jaké je zrovna datum - čili aby se mi zobrazil obsah podle data, bohužel mi to prostě nějak nefunguje, jak má... Předesílám, že jsem naprostej začátečník
<?php

$aktualni_datum = date("d.m.Y"); 
echo "$aktualni_datum<br />";

$termin = array ("01.09.2012", "15.09.2012", "22.09.2012", "29.09.2012", "06.10.2012", "20.10.2012", "27.10.2012", "27.11.2012", "01.12.2012", "08.12.2012", "15.12.2012", "22.12.2012", "26.12.2012", "29.12.2012", "01.01.2013", "12.01.2013", "19.01.2013", "30.01.2013", "02.02.2013", "09.02.2013", "23.02.2013", "02.03.2013", "09.03.2013", "16.03.2013", "30.03.2013", "06.04.2013", "13.04.2013", "20.04.2013", "27.04.2013", "04.05.2013", "12.05.2013", "19.05.2013");


if ($termin[0] >= $aktualni_datum){
echo ("zápas 3. kola:");
}
else {
echo ("prdel");
}
?> 

Děkuji za pomoc :)
panther
Profil
teploušek:
porovnávej buď unix_timestampy, nebo datum ve formátu YYYY-MM-DD:HH:MM:SS.
Šéva
Profil
Ahoj,
nevím tedy co přesně by to mělo dělat,ale pro porovnávání toho co máš teď bych to udělal takto
<?php
 
$aktualni_datum = date("d.m.Y"); 
echo "$aktualni_datum<br />";
 
$termin = array ("01.09.2012", "15.09.2012", "22.09.2012", "29.09.2012", "06.10.2012", "20.10.2012", "27.10.2012", "27.11.2012", "01.12.2012", "08.12.2012", "15.12.2012", "22.12.2012", "26.12.2012", "29.12.2012", "01.01.2013", "12.01.2013", "19.01.2013", "30.01.2013", "02.02.2013", "09.02.2013", "23.02.2013", "02.03.2013", "09.03.2013", "16.03.2013", "30.03.2013", "06.04.2013", "13.04.2013", "20.04.2013", "27.04.2013", "04.05.2013", "12.05.2013", "19.05.2013");
 
for($a=0;$a<count($termin);$a++)
{ 
    if ($termin[$a]== $aktualni_datum)
    {
    echo "zápas $a kola:";
    }
}
 ?> 
teploušek
Profil *
mělo by to podle aktuálního datumu vypsat obsah, kterej si nadefinuju v jednotlivých podmínkách pro termin[0] až termin[34].. do příkladu jsem hodil akorát jednu podmínku, ale pro každý jednotlivý termín by to mělo mít svojí podmínku s odlišnym obsahem, jestli mi rozumíš... v php jsem začátečník a tvýmu řešení úplně nerozumím, je tam nějakej cyklus, kterej testuje, jestli se aktuální - realný - datum rovná některýmu datu zadanýmu v poli termín? a podle toho se pak vypíše zápas toho a toho kola... jasný, už asi vím, ale ten text, co tam mám - "zápas 3. kola:" - je jenom ilustrační, místo toho tam dám nějaké html a tak, čili nebude se měnit pouze to číslo, ale celkově se to bude měnit vlastně celý, ale díky ti :) a díky i pantherovi :)
Tori
Profil
teploušek:
Jak dlouhý je ten obsah, který chcete zobrazovat? Jestli je toho víc než pár řádků, tak bych to možná změnila na podmíněné includování souboru - bylo by to i snazší na přidávání nových věcí (= beze změny skriptu). Asi něco takového:
skript.php -- tento skript
includes/  -- slozka s vkladanymi soubory
includes/2012-08-30.php   -- obsah, ktery se ma zobrazit 30.8.2012 
includes/2012-09-01.php


$incPath = dirname(__FILE__).'/includes';
$filename = $incPath . '/' . date('Y-m-d') . '.php'; // soubory maji koncovku .php, ale muze tam byt samotne HTML
if (is_readable($filename)) {
  include $filename;
}
Stačí jen do složky includes přidat soubor se správným názvem, aby se v zadaný den zobrazil.
Šéva
Profil
Nebo mne ještě napadla jedna věc a možná hezčí:
<?php
 
$aktualni_datum = date("d.m.Y"); 
echo "$aktualni_datum<br />";
 
$termin = array ("01.09.2012"=>"první zápas", "15.09.2012"=>"druhý zápas", "22.09.2012"=>"třetí zápas", "29.09.2012", "06.10.2012", "20.10.2012", "27.10.2012", "27.11.2012", "01.12.2012", "08.12.2012", "15.12.2012", "22.12.2012", "26.12.2012", "29.12.2012", "01.01.2013", "12.01.2013", "19.01.2013", "30.01.2013", "02.02.2013", "09.02.2013", "23.02.2013", "02.03.2013", "09.03.2013", "16.03.2013", "30.03.2013", "06.04.2013", "13.04.2013", "20.04.2013", "27.04.2013", "04.05.2013", "12.05.2013", "19.05.2013");
 
if(!empty($termin[$aktualni_datum]))
{
echo $termin[$aktualni_datum];
}
else
{
echo "Dnes není žádný zápas";
}
 ?> 

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: