Autor Zpráva
Ses
Profil *
Zdravím,
mám problém s podmínkami, které se určují podle aktuálního data. Špatně se to vysvětluje, tak uvedu příklad.

V databázi mám několik desítek záznamů (u každého je i sloupec datum) a já potřebuji, aby se zobrazily podle aktuálního týdne. Prostě potřebuji, aby když je například 15.07.07 (neděle), aby se zobrazily řádky, které mají ve sloupci datum 15.07.07 a zůstaly do dalšího data, které následuje v DB. Stránkování mám udělaný tak, že akorát potřebuji udělat nějak takto podmínky. Zkoušel jsem:
<?
if(!isset($_GET["od"])) {
if(date("Y-m-d") < date("2007-07-15"));
{
$zacit=0;
}
elseif(date("Y-m-d") > date("2007-07-15"));
{
$zacit=6;
}
elseif(date("Y-m-d") > date("2007-08-19"));
{
$zacit=12;
}
?>
Ale tohle mě nefunguje (Pars errror).
Vím, že jsem to nevysvětlil moc dobře, ale snad se najde někdo, kdo mě alespoň trochu pochopil...
nightfish
Profil
Špatně se to vysvětluje, tak uvedu příklad.
bohužel nepomohlo, hlavně mi není jasná pasáž:
které mají ve sloupci datum 15.07.07 a zůstaly do dalšího data, které následuje v DB
kde zůstaly?


Ale tohle mě nefunguje (Pars errror).
řekl bych, že za podmínkovou částí if a elseif nemá středník co dělat (resp. má, ale ve tvém případě tam být nesmí)
Ses
Profil *
nightfish:
Ale tohle mě nefunguje (Pars errror).
řekl bych, že za podmínkovou částí if a elseif nemá středník co dělat (resp. má, ale ve tvém případě tam být nesmí)

Já jsme blb. Díky moc za radu, už to skoro funguje (ale doladění je už jednoduchá práce). Jsem nad tím strávil skoro dvě hodiny hledáním po netu a zkoušení všeho možnýho. A nakonec je to taková blbost. Díky moc...
Ses
Profil *
Tak jsem se radoval předčasně. Sice už mě to nevyhazuje error, ale stejně to nedělá to, co já chci.
Zkusím svůj problém vylíčit ještě jinak, snad lépe.
Potřebuji v určitém období, aby se změnila jedna proměnná. Příklad: do data 19.08.07 bude proměnná 0, dne 02.09.07 bude proměnná 6 a bude po celou dobu, až do dne 09.09.07, kdy bude proměnná 12 a ta zase bude až do dne 02.09.07, kdy bude 18 a ta zase do určité doby. A tak dále.
Zkoušel jsem to právě takto (už opravená verze):
<?
if(date("Y-m-d") < date("2007-08-19"))
{
$zacatek=0;
}
elseif(date("Y-m-d") > date("2007-09-02"))
{
$zacatek=6;
}
elseif(date("Y-m-d") < date("2007-09-09"))
{
$zacatek=12;
}
?>
Ale nefunguje to. Vypisuje to do data 19.08.07 se zacatek 0 a od data 02.09.07 to sice vypisuje zacatek 6, ale 09.09.07 už to ignoruje.

Doufám, že teď je to už alespoň trochu pochopitelné.
Děkuji za jakékoli rady...
nightfish
Profil
<?php
if(date("Y-m-d") < "2007-08-19")
{
$zacatek=0;
}
elseif((date("Y-m-d") > date("2007-09-02")) && ((date("Y-m-d") < "2007-09-09"))
{
$zacatek=6;
}
elseif(date("Y-m-d") > date("2007-09-09"))
{
$zacatek=12;
}
?>
Ses
Profil *
Díky, ale zdá se mi, že je tam něco špatně. Když to aplikuju a je 10.09.2007, tak to funguje pouze s úpravou:
elseif((date("Y-m-d") > date("2007-09-02")) && (date("Y-m-d") < "2007-09-09"))
Je vymazaná jedna ze závorek (první v třetí části). Pokud ale dám 9.9.07, tak to vrátí chybu. Když to nechám tak, jak to bylo, tak to vypisuje:
Parse error: syntax error, unexpected '{' in /var/www/dfc/zapasy.php on line 211 (řádek, který je pod tím dotazem, který je výše (v tomto příspěvku) napsaný)...
1.9.07 opět chyba, 20.8.07 zase chyba (s tím upraveným)...
Jinak díky za pomoc, skoro to už funguje...
Ses
Profil *
Díky, ale zdá se mi, že je tam něco špatně. Když to aplikuju a je 10.09.2007, tak to funguje pouze s úpravou:
elseif((date("Y-m-d") > date("2007-09-02")) && (date("Y-m-d") < "2007-09-09"))
Je vymazaná jedna ze závorek (první v třetí části). Pokud ale dám 9.9.07, tak to vrátí chybu. Když to nechám tak, jak to bylo, tak to vypisuje:
Parse error: syntax error, unexpected '{' in /var/www/dfc/zapasy.php on line 211 (řádek, který je pod tím dotazem, který je výše (v tomto příspěvku) napsaný)...
1.9.07 opět chyba, 20.8.07 zase chyba (s tím upraveným)...
Jinak díky za pomoc, skoro to už funguje...
nightfish
Profil
Ses
měl jsem tam trochu zmatek v závorkách

<?php
if(date("Y-m-d") < "2007-08-19")
{
$zacatek=0;
}
elseif((date("Y-m-d") > "2007-09-02") && (date("Y-m-d") < "2007-09-09"))
{
$zacatek=6;
}
elseif(date("Y-m-d") > "2007-09-09")
{
$zacatek=12;
}
?>
Ses
Profil *
Díky moc, už to funguje bez problémů (ani nevíš, jak jsi mi pomohl) , akorát jsem ještě musel dopsat =, aby se to zobrazovalo i ten určitej den (jinak to nic nevypsalo), ale to byla naprostá drobnost...

PS: omlouvám se za dvojtý dotaz, ale když jsem to odeslal poprvé, tak se nic nedělo, tak jsem to zkusil odeslat podruhé :)

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:

0