Autor | Zpráva | ||
---|---|---|---|
nyllo Profil |
Zdravím.
Potřeboval bych poradit jak upravit tento výpis if($_GET['kalendar']){ $query = "SELECT * FROM `events` WHERE date_format(`date`,'%Y-%c')='".intval($_GET['kalendar']) ; } potřeboval bych tam dosadit něco v podobě tohoto -> Nejsem si jist zda je tento formát možný where date_format(`date`,'%Y-%c') = '$_GET['kalendar']' ORDER BY `events`.`date` ASC |
||
Taps Profil |
nyllo:
if($_GET['kalendar']){ $kalendar= intval($_GET['kalendar']); $query = "SELECT * FROM `events` WHERE date_format(`date`,'%Y-%c')='$kalendar' ORDER BY events, date ASC") ; } $query = "SELECT * FROM `events` WHERE date_format(`date`,'%Y-%c')='".intval($_GET['kalendar']."' ORDER BY events, date ASC") ; |
||
nyllo Profil |
#3 · Zasláno: 19. 2. 2014, 12:56:49
Ta první verze by v celku fungovala bohužel nebere mi formát 2014-1 ale pouze 2014
|
||
Taps Profil |
#4 · Zasláno: 19. 2. 2014, 12:59:13
nyllo:
asi budeš muset vyhodit ten intval <? $kalendar= $_GET['kalendar']; ?> |
||
nyllo Profil |
#5 · Zasláno: 19. 2. 2014, 13:11:07 · Upravil/a: nyllo
můžu mít toto ??
if($_GET['clanek']){ $query = "SELECT * FROM `events` WHERE id=".intval($_GET['clanek']); } if($_GET['kalendar']){ $query = "SELECT * FROM `events` WHERE date_format(`date`,'%Y-%c')='".intval($_GET['kalendar']); } else{ $query = "SELECT * FROM `events` where date_format(`date`,'%Y-%c') = '".$act_date."' ORDER BY `events`.`date` ASC LIMIT ".$start.", ".$prispevku; } finální funkčnost kalendáře ještě doladím. |
||
peta Profil |
#6 · Zasláno: 19. 2. 2014, 13:38:05
nyllo:
Zkus udelat echo quesry a to query podstrcit do phpmyadmina. $query = "SELECT * FROM `events` WHERE date_format(`date`,'%Y-%c')='".intval($_GET['kalendar']) ;
Tady ti schazi uvozovka. |
||
Taps Profil |
#7 · Zasláno: 19. 2. 2014, 13:49:20
nyllo:
$query = "SELECT * FROM `events` WHERE date_format(`date`,'%Y-%c')=".intval($_GET['kalendar']); |
||
nyllo Profil |
#8 · Zasláno: 19. 2. 2014, 15:18:56
aby vůbec nedělal problém výpis
|
||
Kajman Profil |
#9 · Zasláno: 19. 2. 2014, 16:49:29
nyllo:
Řetězec s pomlčkou získaný přes date_format se přeci nemůže nikdy rovnat číslu vzniklému díky intval. Lepší bude nachystat hranice toho měsíce a ty použít ve where, pokud na tom sloupci date bude index, bude to výrazně rychlejší. Tedy vygenerovat např. where `date` between '2014-02-01' and '2014-02-28 23:59:59' |
||
nyllo Profil |
#10 · Zasláno: 19. 2. 2014, 17:12:31
ono to vypisuje akce konající se např v Lednu 2014.. ale potřebuji to přepínat a volat podrobnosti jednotlivých akcí
|
||
peta Profil |
nyllo: Ta akce ma id, ktere je typu INT, to najde mnohem rychleji nez datum.
Navic, bys to mohl pro vsechny zobrazene akce naJOINovat primo do predchoziho dotazu. Nebo, kdyz us teda dalsi dotaz, tak vybrat vsechny a pri dalsim kliku uz nevolat zbytecne server, ale pouze js. |
||
nyllo Profil |
tak to raději vysvětlím jak to má fungovat...
1) Výchozí výpis vypíše akce pro aktuální měsíc. 2) Dále má být přepínání mezi měsíci pro vypsání akcí které se budou konat další měsíc. (Případně akce uběhlé) 3) Vypsání podrobností o akci. |
||
Taps Profil |
#13 · Zasláno: 20. 2. 2014, 17:30:24
nyllo:
1) <? list($mesic,$rok) = explode('.',$_GET['kalendar']); $query = "SELECT * FROM events WHERE MONTH(date)='".intval($mesic)."' AND YEAR(date')='".intval($rok)."'"; ?> |
||
nyllo Profil |
výpis mám tvořen takto
if($_GET['info']){ $query = "SELECT * FROM `events` WHERE id=".intval($_GET['info']); } $kalendar = $_GET['kalendar']; if($_GET['kalendar']){ $query = "SELECT * from `events` WHERE date_format(`date`,'%Y-%c')= '$kalendar' ORDER BY `events`.`date` ASC "; } else{ $query = "SELECT * FROM `events` where date_format(`date`,'%Y-%c') = '".$act_date."' ORDER BY `events`.`date` ASC LIMIT ".$start.", ".$prispevku; } $vypis = mysql_query($query); if (FALSE === $vypis) { echo mysql_errno() . ": " . mysql_error(); } if (mysql_num_rows($vypis) === 0) { echo '<p class="color_white">Nejsou naplánovány žádné další události.</p>'; } else { while($row = mysql_fetch_array($vypis)) { if($_GET['clanek']) { //Výpis datumů // $datum_day = date('d', strtotime($row['date'])); $datum_day_name = date("w", strtotime($row['date'])); $datum_mesic = date("n", strtotime($row['date'])); $day_name = array("", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"); $mesice = array ("",'Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listipad', 'Prosinec'); echo '<div id="page_box" class="col-md-12">'; //článek echo '<div class="col-md-4">'; echo '<div class="fadeInRightBig">'; echo '<div class="events_date_page">'; echo '<div class="date-event-single">'; echo '<div>'.$day_name[$datum_day_name].'/'.$datum_day.'/'.$mesice[$datum_mesic].'</div>'; echo '</div>'; echo '</div>'; echo '</div>'; echo '</div>'; echo '<div class="col-md-8">'; echo '<div class="fade_event">'; echo '<div class="events_date_page">'; echo '<div class="evetns_descript"><h3>'.$row["title"].'</h3></div>'; echo '<hr>'; echo ''.$row["popis"].''; echo '</div>'; echo '</div>'; echo '</div>'; //konec článku echo '<br />'; echo '<div class="col-md-12 events_date_page_2">'; echo '<div>'; //demo echo 'Link události <a href="https://www.facebook.com/events/289110027909253">https://www.facebook.com/events/289110027909253</a>'; //demo echo '</div>'; //demo echo '</div>'; echo '</div>'; } else{ //Výpis datumů // SetLocale(LC_ALL, "czech.utf-8"); $datum_day = date('d', strtotime($row['date'])); $datum_day_name = date("w", strtotime($row['date'])); $datum_mesic = date("n", strtotime($row['date'])); $day_name = array("", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"); $mesice = array ("",'Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listipad', 'Prosinec'); echo '<div id="events_block">'; echo '<div id="events_box_block">'; echo '<div id="events_date">'; echo '<p class="events_color">'.$day_name[$datum_day_name].'<br><strong class="events_day">'.$datum_day.'</strong><br>'.$mesice[$datum_mesic].'</p>'; echo '</div>'; echo '<div id="events_images">'; echo '<a href="index.php?stranka=akce&info='.$row["id"].'" class="events_title">'; echo '<img src="'.$row["img"].'" width="71px" height="107px" alt="'.$row["title"].'">'; echo '</a>'; echo '</div>'; echo '<div id="events_text_right">'; echo '<div class="evetns_descript"><a href="index.php?stranka=akce&info='.$row["id"].'" class="events_title">'.$row["title"].'</a></h3>'; echo '<p>'; echo ''.$row["popis"].''; echo '</p>'; echo '</div>'; echo '</div>'; echo '</div>'; echo '</br>'; } } }; Výsledky: http://ncms.8u.cz/index.php?stranka=akce kalendar -> http://ncms.8u.cz/index.php?stranka=akce&kalendar=2014-1 http://ncms.8u.cz/index.php?stranka=akce&kalendar=2014-2 článek -> http://ncms.8u.cz/index.php?stranka=akce&info=5 problém je ve výpisu informací o akci -> http://ncms.8u.cz/index.php?stranka=akce&info=5 |
||
Časová prodleva: 10 let
|
0