Ankündigung

Einklappen
Keine Ankündigung bisher.

Kalender nach Datum ordnen und alte Termine nicht anzeigen. Wie?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kalender nach Datum ordnen und alte Termine nicht anzeigen. Wie?

    Hi,

    ich möchte gerne den Kalender unserer Band (Auftrittstermine) nach Datum ordnen und die alten termine nicht mit anzeigen bzw. nen link dazu sätzen.
    Hab schon dies und das probiert, aber ich komm nich drauf.

    Könnt ihr mir helfen?

  • David
    antwortet
    MySQL AB :: MySQL 5.0 Reference Manual :: 10.6 Date and Time Functions

    Einen Kommentar schreiben:


  • Ricardando
    antwortet
    hm, danke werd ich mal nachforschen.

    hab die funktion curdate() nich gefunden.
    Was meinst du damit?

    Einen Kommentar schreiben:


  • David
    antwortet
    Aber ein Index ist für die Sortierung und eine WHERE Bedingung schon nützlich. Es muss nur halt nicht gleich der Primärschlüssel sein. Ein "normaler", non-unique Index auf tour_date tut's genauso.

    Dann brauchst Du noch die WHERE Bedingung, dass tour_date größer (sprich: neuer) als heute (00:00 Mitternacht) ist.

    Und bei Mysql kannst Du die Anzahl aller Datensätze trotz LIMIT berechnen lassen. Das ist "billiger" (sprich: schneller) als die Abfrage zweimal Laufen zu lassen.
    PHP-Code:
    $sql="SELECT SQL_CALC_FOUND_ROWS tour_date,tour_ort,tour_info
    FROM tbl_tour
    ORDER BY tour_date
    WHERE tour_date > Curdate()
    LIMIT 
    $pos,$count";
    $tour_result=mysql_query($sql) or exit(mysql_error());
    $sql 'SELECT FOUND_ROWS()';
    $no_data=mysql_query($sql) or exit(mysql_error());
    $no_data=mysql_result($no_data0); 

    Einen Kommentar schreiben:


  • Montellese
    antwortet
    Nein, musst du nicht! Mach deinen Query einfach à la

    Code:
    SELECT * FROM tbl_tour ORDER BY tour_date
    Wenn du nur Daten aus einem bestimmten Abschnitt haben willst, kannst du dich mal über BETWEEN informieren (ist eine Spezialart von WHERE).

    Einen Kommentar schreiben:


  • Ricardando
    antwortet
    als datetime. format is yyyy-mm-dd usw. muss ich das auf primärschlüssel setzen?

    Einen Kommentar schreiben:


  • Montellese
    antwortet
    In welchem Format ist das Datum denn in der Datenbank gespeichert und welchen Typ hat das MySQL-Feld?

    Einen Kommentar schreiben:


  • Ricardando
    antwortet
    Hat keiner ne Idee? Brauche Eure Hilfe.

    Einen Kommentar schreiben:


  • Ricardando
    antwortet
    Ja genau, in einer MySQL Datenbank.
    Der Quelltext sieht zur Zeit noch so aus:
    PHP-Code:
    <?php
    //Einträge auslesen
    if(isset($_GET['pos'])==0){
        
    $pos=0;
    }else{
        
    $pos=(int)$_GET['pos'];
    }
    $count=10;
    $tour_SQL="SELECT * FROM tbl_tour ORDER BY tour_ID LIMIT $pos,$count";
    $tour_result=mysql_query($tour_SQL);

    //Anzahl der Datensätze ermitteln
    $no_data=mysql_num_rows(mysql_query("SELECT tour_ID FROM tbl_tour"));

    //Links für das Blättern
    $new_pos_next=$pos+$count;
    if(
    $new_pos_next>=$no_data){
        
    $link_next=" ";
    }else {
        
    $link_next="<a href=\"unterwegs/unterwegs.php?pos=" $new_pos_next "\">weiter >></a>";
    }
    $new_pos_prev=$pos-$count;
    if(
    $new_pos_prev<0){
        
    $link_prev=" ";
    }else {
        
    $link_prev="<a href=\"unterwegs/unterwegs.php?pos=" $new_pos_prev "\"><< zurück</a>";
    }
    ?>
    <div class="main2">
    <h2>Unterwegs</h2><br />
    <br />
      <table class="termin" border="1px">
        <tr class="thead">
          <th>Datum/Uhrzeit</th> <th>Veranstaltungort</th> <th>Info</th>
        </tr>
    <?php
    //Einträge auslesen
    while($tour_data=mysql_fetch_array($tour_result)){
        
    //Datum und Uhrzeit formatieren
    $unixtime strtotime($tour_data['tour_date']);

    echo 
    "<tr>";
    echo 
    "<td>" $tour_data['tour_date'] . "</td>";
    echo 
    "<td>" $tour_data['tour_ort'] . "</td>";
    echo 
    "<td>" $tour_data['tour_info'] . "</td>";
    echo 
    "</tr>";
    }
    ?>
      </table>
      <p><?php echo $link_prev " " $link_next ?></p>

    Einen Kommentar schreiben:


  • Montellese
    antwortet
    Dafür müssten wir zuerst einmal wissen, wie du die Termine in deinem Kalender speicherst! Ich nehme mal an in einer (MySQL) Datenbank oder vielleicht sonst irgendwie?

    Einen Kommentar schreiben:

Lädt...
X