Autor | Zpráva | ||
---|---|---|---|
nyllo Profil |
#1 · Zasláno: 5. 5. 2014, 23:03:32
Zdravím...
Pokouším se sestavit navigaci s podporou SQL kód nyní vypadá takto //********** // navigace if (isset($kalendar) && !$kalendar){ $rovno = $_GET['kalendar']; } else { $rovno = $act_date; } 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', 'Listopad', 'Prosinec'); echo '<div>'; echo '<ul class="pager">'; //předešlí měsíc $sqla = "SELECT * FROM `events` where date_format(`date`,'%Y-%c') < '".$rovno."' ORDER BY `events`.`date` desc LIMIT 1"; $vypisa = mysql_query($sqla); if (FALSE === $vypisa) { echo mysql_errno() . ": " . mysql_error(); } while($row_prew = mysql_fetch_array($vypisa)) { $predesli_mesic = date("n", strtotime($row_prew['date'])); $predesli_mesic_y = date("Y", strtotime($row_prew['date'])); echo '<li><a href="../akce&kalendar='.$predesli_mesic_y.'-'.$predesli_mesic.'">'.$mesice[$predesli_mesic].' '.$predesli_mesic_y.'</a></li>'; }; //aktuální měsíc $sqlb = "SELECT * FROM `events` where date_format(`date`,'%Y-%c') = '".$rovno."' ORDER BY `events`.`date` asc LIMIT 1"; $vypisb = mysql_query($sqlb); if (FALSE === $vypisb) { echo mysql_errno() . ": " . mysql_error(); } while($row_t = mysql_fetch_array($vypisb)) { $tento_mesic = date("w", strtotime($row_t['date'])); $tento_mesic_y = date("Y", strtotime($row_t['date'])); echo '<li><a href="../akce&kalendar='.$tento_mesic_y.'-'.$tento_mesic.'">'.$mesice[$tento_mesic].' '.$tento_mesic_y.'</a></li>'; }; //další měsíc $sqlc = "SELECT * FROM `events` where date_format(`date`,'%Y-%c') > '".$rovno."' ORDER BY `events`.`date` asc LIMIT 1"; $vypisc = mysql_query($sqlc); if (FALSE === $vypisc) { echo mysql_errno() . ": " . mysql_error(); } while($row_next = mysql_fetch_array($vypisc)) { $next_mesic = date("n", strtotime($row_next['date'])); $next_mesic_y = date("Y", strtotime($row_next['date'])); echo '<li><a href="../akce&kalendar='.$next_mesic_y.'-'.$next_mesic.'"> '.$mesice[$next_mesic].' '.$next_mesic_y.'</a></li>'; }; echo '</ul>'; echo '</div>'; Skoro to funguje jak má ale používám proměnné volání $_GET na jednotlivé měsíce a dále pod výchozím zobrazením je aktuální měsíc. Řeším jak ochránit aby se mi nevypsali nesmyslné měsíce které nejsou v db a pokud není definována hodnota $_GET aby se vše řídilo aktuálním měsícem. Děkuji za každou pomoc předem. |
||
nyllo Profil |
#2 · Zasláno: 7. 5. 2014, 09:33:17
Vyřešeno.
if (isset($_GET["kalendar"])) { $rovno = $_GET["kalendar"]; } else { $rovno = $act_date; } 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', 'Listopad', 'Prosinec'); //předešlí měsíc $sqla = "SELECT * FROM `events` where date_format(`date`,'%Y-%c') < '".$rovno."' ORDER BY `events`.`date` desc LIMIT 1"; $vypisa = mysql_query($sqla); if (FALSE === $vypisa) { echo mysql_errno() . ": " . mysql_error(); } while($row_prew = mysql_fetch_array($vypisa)) { $predesli_mesic = date("n", strtotime($row_prew['date'])); $predesli_mesic_y = date("Y", strtotime($row_prew['date'])); echo '<li><a href="../akce&kalendar='.$predesli_mesic_y.'-'.$predesli_mesic.'">'.$mesice[$predesli_mesic].' '.$predesli_mesic_y.'</a></li> '; }; //aktuální měsíc $sqlb = "SELECT * FROM `events` where date_format(`date`,'%Y-%c') = '".$rovno."' ORDER BY `events`.`date` desc LIMIT 1"; $vypisb = mysql_query($sqlb); if (FALSE === $vypisb) { echo mysql_errno() . ": " . mysql_error(); } while($row_t = mysql_fetch_array($vypisb)) { $tento_mesic = date("n", strtotime($row_t['date'])); $tento_mesic_y = date("Y", strtotime($row_t['date'])); echo '<li><a href="../akce&kalendar='.$tento_mesic_y.'-'.$tento_mesic.'">'.$mesice[$tento_mesic].' '.$tento_mesic_y.'</a></li> '; }; //další měsíc $sqlc = "SELECT * FROM `events` where date_format(`date`,'%Y-%c') > '".$rovno."' ORDER BY `events`.`date` asc LIMIT 1"; $vypisc = mysql_query($sqlc); if (FALSE === $vypisc) { echo mysql_errno() . ": " . mysql_error(); } while($row_next = mysql_fetch_array($vypisc)) { $next_mesic = date("n", strtotime($row_next['date'])); $next_mesic_y = date("Y", strtotime($row_next['date'])); echo '<li><a href="../akce&kalendar='.$next_mesic_y.'-'.$next_mesic.'"> '.$mesice[$next_mesic].' '.$next_mesic_y.'</a></li>'; }; |
||
Časová prodleva: 10 let
|
0