Autor Zpráva
jayyki87
Profil
Zdravím všechny,

nastal u mě takový problém. Na hlavní stránce jednoho webu mám seznam termínů zájezdů. Ale ve výpise je jen den odjezdu (od) a chybí mi tam termín návratu (do). Celé termíny mám uložené v databázi, takže vypisuji termín od, ale nevím jak do kódu přidat ještě termín od:

 $termin_od_datum= date("j.n.Y",strtotime($data['termin_od']));//zde jen jen od

Nevíte tedy někdo jak k tomu připsat ještě do (termin_do), když vše v db je uloženo ?
Hando
Profil
Ahoj.
No, podstatné je, jestli ten termin_do také vybírá nějaký select z databáze. Pokud ne, tak je třeba ho připsat a pak jednoduše (pokud je vybírán z db) prakticky zkopírovat ten kód, co jsi vložil a upravit $data["termin_do"]. Samozřejmě vše se odvíjí od předpokladu, že je datum uloženo ve stejném formátu atp...
Magnus123
Profil
V databázi budou uloženy termíny zvlášť.
<?php

$data = mysql_fetch_assoc(mysql_query("SELECT termin_od, termid_do FROM zajezd"));

$termin_od_datum = date("j.n.Y", strtotime($data['termin_od']));
$termin_do_datum = date("j.n.Y", strtotime($data['termin_do']));

?>
jayyki87
Profil
Hando:
Select z databáze provádím. Já jsem to zkoušel už plno způsoby, ale vždy mi vyhodí chybu. Třeba tohle:

$termin=date("j.n.Y",strtotime($data['termin_od'])) " - " date("j.n.Y",strtotime($data['termin_do']));
Rfilip
Profil
mezi datum a " -" musíš dát .
jayyki87
Profil
Magnus123:
Pokud pod to přidám tenhle řádek, nestane se vůbec nic.


Rfilip:
$termin=date("j.n.Y",strtotime($data['termin_od']))." - ".date("j.n.Y",strtotime($data['termin_do']));

Takto? Protože když tam zadám tohle, bude tam pořád jedno datum a ještě ke všemu nějaké 31.8.2012, což neodpovídá (nesmysl).


Nevíte tedy někdo prosím jak by to mělo přesně vyadat?
LaMMa
Profil
A ako vyzerá tabuľka a SQL dotaz, ktorým to ťaháš?
Hando
Profil
V jakém formátu jsou uložena ta data v tabulce? Nejjednodušší je to ukládat normálně v yyyy-mm-dd a pak to naformátovat už v dotazu přes date_format().

Problém je v části strtotime($data....), resp. v tom, co se do toho cpe, jinak by být problém nikde neměl.

Zkus si to vypsat krok za krokem, co vypadne za datum odjezdu, příjezdu?
jayyki87
Profil
LaMMa:
Nevím co přesně to je, ale ten zdrojový kód vypadá přesně takhle:
echo "</td>\n<td width='50%'>\n";
opentable("<a href='http://www.domain.com'><big><center>Poznávací zájezdy</center></big></a>");
echo "<p><center><a href='http://www.domain.com' title='Poznávací zájezdy'><img src='/themes/theme/images/poznavaci1.jpg' style='margin:5px'/></a></center></p>";
$result = dbquery("SELECT * FROM ".$db_prefix."articles WHERE `article_cat`='4' AND DATE(termin_od) >= DATE(NOW()) ORDER BY termin_od ASC LIMIT 0,10");
if (dbrows($result)) {
    echo '<table border="0px" cellspacing="3px">';
    while($data = dbarray($result)) {
        echo '<tr>';
        $itemsubject = trimlink($data['article_subject'], 50);
        $termin_od_datum= date("j.n.Y",strtotime($data['termin_od']));  
        echo "<span style='font-size: 10px;'></span> <td><a href='".BASEDIR."articles.php?article_id=".$data['article_id']."' title='".$data['article_subject']."' class='side'>".$itemsubject."</td><td align='right'>".$termin_od_datum."</td><td align='right' width='90px'>".$data['cena']."</td></a>\n";
        echo '</tr>';
    }
    echo '</table>';
} else {
    echo "<div style='text-align:center'>Žádné zájezdy</div>\n";
}
closetable();

Hando:
Nemám moc zkušeností s touhle problematikou, náš admin nějak vynechal, a tak to zbylo na mě.
Alphard
Profil
Hando:
Nejjednodušší je to ukládat normálně v yyyy-mm-dd a pak to naformátovat už v dotazu přes date_format().
Nezmínil jste velmi důležitý krok, databázový sloupec má mít datový typ date.

[#9]
Je-li v databázi dloupec termin_do, stačí zkopírovat 10. řádek pro další proměnnou a pak ji vypsat do tabulky,
jayyki87
Profil
Alphard:
A můžete mi prosím vysvětlit ten krok, týkající se vepsání do tabulky. Pod 10. řádek bych dal skoro ten samý a pozměnil bych pouze "od" na "do". Jenže tohle nefungovalo.
Alphard
Profil
To je jen definice proměnné. Vypisuje se pomocí echo na dalším řádku. Tam si dopište pomocí html nový sloupec a vypište proměnnou.
LaMMa
Profil
[#9] [#11] jayyki87:
Myslel som tým aby si sem napísal názvy stĺpcov v databáze z tabuľky kde máš tie termíny. Teda hlavne názov stĺpca s termínom do...
jayyki87
Profil
Alphard:
Když já bych právě potřeboval ty dva termíny spojit na jednom řádku. Resp.: $termin=date("j.n.Y",strtotime($data['termin_od']))." - ".date("j.n.Y",strtotime($data['termin_do']));, jak jsem již psal. Moc děkuju za radu, ale nemám ponětí jak použít echo v téhle problematice.
LaMMa:
Název toho sloupce je "termin_do", je to použito v dalších částech webu.
LaMMa
Profil
V tom prípade ti tu radili dobre, len si nevieš premenovať premennú ako potrebuješ. Zmeň si 10ty riadok v tom kóde, čo si sem dával v [#9] na:
$termin_od_datum=date("j.n.Y",strtotime($data['termin_od']))." - ".date("j.n.Y",strtotime($data['termin_do']));
jayyki87
Profil
LaMMa:
Mnohokrát děkuji, funguje to parádně.
jayyki87
Profil
Akorát mám problém s tím jak se mi to zobrazuje, nedalo by se do toho kódu ještě něco připsat, aby ten datum nebyl takhle pitomě, ale ukazoval se lépe?
abc
Profil
jayyki87:
Pokud upřesníš, co je na tom pitomého a především jak to má vypadat lépe, tak ti rádi poradíme ;-)
LaMMa
Profil
Musíš rozšíriť ten stĺpec, prepíš si riadok 11 z [#9]:
echo "<span style='font-size: 10px;'></span> <td><a href='".BASEDIR."articles.php?article_id=".$data['article_id']."' title='".$data['article_subject']."' class='side'>".$itemsubject."</td><td align='right' width='160px'>".$termin_od_datum."</td><td align='right' width='90px'>".$data['cena']."</td></a>\n";
jayyki87
Profil
LaMMa:
Ještě jednou Ti děkuju.

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: