Ankündigung

Einklappen
Keine Ankündigung bisher.

Nach Jahresangabe Kalenderwochen anlegen

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema Nach Jahresangabe Kalenderwochen anlegen.

    Nach Jahresangabe Kalenderwochen anlegen

    Holla,

    ist es möglich, dass man ueber ein Formular eine Jahreszahl angibt und für dieses Jahr dann eine MySQL Tabelle angelegt wird, die alle Kalenderwochen enthält?

    Gruesse
    Kirin

  • tapferesschneiderlein
    antwortet
    Mein heutiger Beitrag zum inoffiziellen Wettbewerb um den paranoidesten Code

    Code:
    <?php
    
    /* 
    
    // Feld »year« aus Formular übergeben
    
    // Verbindung zur DB herstellen
    
    */
    
    
    $year = $_POST['year'];
    
    // Gültigkeit prüfen
    if (!is_integer($year) OR $year < 1000 OR $year > 9999)
        die ();
    
    // Tabelle erstellen
    mysql_query('CREATE TABLE `'.$year.'`
                    (
                    `id` INT UNSIGNED DEFAULT "0" NOT NULL AUTO_INCREMENT, 
                    `beginn` DATE DEFAULT "0", 
                    `ende` DATE DEFAULT "0", 
                    `ort` VARCHAR (255) DEFAULT "", 
                    PRIMARY KEY(`id`)
                    )') or die('Tablle nicht erstellt/schon vorhanden.'); 
    
    // Wann war der 01.01.?
    $jan1 = gregoriantojd(1, 1, $year);
    
    // Wann ist der nächste Samstag?
    $jd = $jan1 + 6 - jddayofweek($jan1);
    
    // Hochzählen solange Jahr aktuell ist
    while (preg_match('#^(\d{1,2}/){2}'.$year.'$#', $str = jdtogregorian($jd)))
        {
        // Array füllen
        $d = explode('/', $str);
    
        // Query bauen
        $query = 'INSERT INTO `'.$year.'`
                  (`beginn`, `ende`)
                  VALUES ("'.$d[2].'-'.$d[0].'-'.$d[1].'", 
                                 DATE_ADD(`beginn`, INTERVAL +1 DAY))';
                  
        // reinschreiben
        mysql_query($query);
        
        // 1 Woche dazu
        $jd += 7;
        }
    
    ?>
    Du kannst auch mit Timestamps rechnen, wenn Du mit den Beschränkungen von 32 (bzw. 31) Bit leben kannst. Aber das ist langweilig, das kannst Du Dir selber umgestalten ...


    PS:
    Nun möchte ich in den beiden ersten Feldern immer das Datum des Samstages speichern, und in Feld 2 das Datum des Sonntages.
    Häh?????

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Also, ich hab mir folgendes vorgestellt.

    Ich möchte eine Tabelle erstellen, in der mindestens drei Felder existieren.
    Feld 1: Datum_Beginn
    Feld 2: Datum_Ende
    Feld 3: Ort

    Nun möchte ich in den beiden ersten Feldern immer das Datum des Samstages speichern, und in Feld 2 das Datum des Sonntages.
    Und das für möglichst das ganze Jahr, so dass ich automatisch eine Tabelle mit den Wochenenden eines Jahres erstellen kann.

    Da ich weiß, dass ich jedes Wochenende im Jahr eine Veranstaltung habe, wäre es für mich erheblich einfacher, wenn ich nicht circa 50 Mal das Datum eines Samstages und Sonntages eingeben muesste

    Ich hoffe, dass ich meine wirren Gedanken ein wenig ordnen konnte und dir ein wenig klarheit verschaffen konnte.

    Gruesse
    KirinSan

    Einen Kommentar schreiben:


  • tapferesschneiderlein
    antwortet
    Das hört sich -- mit Verlaub -- noch etwas wirr an. Kannst Du das noch etwas spezifizieren?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Naja, ich willeine Art Kalender erstellen, der die Wochenende eines Jahres beinhaltet.

    Also wennich meinetwegen das Jahr 2005 eingebe, soll er eine tabelle erstellen, in der einmal der Samstag als anfang und der sonntag als Ende gespeichert ist

    Kannst du mir da weiterhelfen?

    Einen Kommentar schreiben:


  • tapferesschneiderlein
    antwortet
    Ja.













    Was soll denn das werden?

    Einen Kommentar schreiben:

Lädt...
X