Adventkalender

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

  • Adventkalender

    Hallo

    ich hab mir einen Adventkalender mit php und mysql selbst geschrieben.
    er sollte so funktionieren.

    Nehmen wir an es ist bereits der 5. Dezember. Das Script überprüft nun die db in der der Tag, Text zum Bild und die Bildurl steht.

    am 5. 12. soll er also nur die tag 1-5 öffnen lassen - das in der HTML Datei so aussieht

    http://www.svm-fan.net/advent/advent2.php?date=30

    Der Kalender:
    http://www.svm-fan.net/advent/advent.htm



    jedes Fenster ist dementsprechend aufgebaut

    mein Problem ist nun dass es nciht so ganz hinhauen will - entweder gehen alle Fenster auf, oder nur das am jeweiligen Tag und dann die vorherigen nicht mehr

    Hier mal der code:

    PHP-Code:
    <?php
    // 1. Deklaration der Variablen:
    $dbhost="localhost";
    $mydb="";
    $dbuser="";
    $dbpasswd="";

    // 2. Erstellung der Verbindung zur Datenbank:
    $db=mysql_connect($dbhost$dbuser$dbpasswd);
    mysql_select_db($mydb$db);

    $query=("SELECT * FROM `advent` WHERE  `date` = $date");
    if (
    $date >= "now( ) , '%e'")
    {
    if (
    $result=mysql_query($query,$db) ){

    // 4. Ausgabe in einer Tabelle:
    printf("<table border=0>");
    while(
    $output=mysql_fetch_array($result))
            {
            
    printf("
            <tr><td> <img src=
    $output[picurl]><br>$output[text]</td></tr>
            "
    );
            }
            }
            else echo 
    "ERROR[".mysql_errno()."] ".mysql_error();
    printf("</table>");
    }
    else
    echo (
    "Es ist noch nicht der $date. Dezember :-)");
    mysql_close();

    ?>
    was läuft hier falsch?
    wahrscheinlich mit dem "<=" oder?
    Liebe Grüße
    Clemens
    Zuletzt geändert von whistler81; 30.11.2002, 14:31.

  • #2
    if ($date >= "now( ) , '%e'")

    da stimmt doch was nicht ?!, was wills den da vergleichen ?
    meine Projekte bestaunen: http://www.kleiza.de

    Kommentar


    • #3
      date = die variable die übergeben wird
      und mit dem "now" wird nur der Tag in "00" augeben

      oder nicht?

      Kommentar


      • #4
        er soll vergleich ob der Tag überhaupt schon "aktiv" ist - also dass man nicht das Fenster für 20.12. schon am 1.12 aufmachen kann.

        ABER man soll wenn der 5.12. ist die Fenster für 1. 2. 3. und 4. 12. schon aufmachen können.

        Kommentar


        • #5
          also now() ist kein befehl (oder nicht der passende) bei PHP, und ausserdem kannst man keine befehle in ner string ausführen...


          PHP-Code:
          ...
          $query=("SELECT * FROM `advent` WHERE  `date` = $date");
          $datum=getdate();
          if (
          $date >= $datum["mday"] and $datum["mon"]==12)
          {
          ... 
          ungetestet, guckmal, ob ob man der die monate nicht bei 0 anfängt zu zählen, also entsprechend muss da nicht 12 sondern 11 dann hin... daselbe für mday...

          schöne weihnachten....
          meine Projekte bestaunen: http://www.kleiza.de

          Kommentar


          • #6
            [i]
            PHP-Code:
            ...
            $query=("SELECT * FROM `advent` WHERE  `date` = $date");
            $datum=getdate();
            if (
            $date >= $datum["mday"] and $datum["mon"]==12)
            {
            ... 
            [/B]
            $datum gibt mir it dem Parameter "mday" den Tag aus oder`? in welcher Form? 00 oder 0

            und der Parameter mit "mon"? heißt das es werden nur tage genommen die im Dezember sind oder?
            $datum gibt die daten wie aus? 0000-00-00 oder 00-00-0000?

            Kommentar


            • #7
              also
              $datum ist dann ein assoziatives array (sprich array mit namen als keys)
              und dort werden dann die eizelnen zeiten(von diesem augenblick ) eingetragen...
              nachzulesen hier:
              http://www.php.net/manual/en/function.getdate.php

              functioniert das denn ?
              meine Projekte bestaunen: http://www.kleiza.de

              Kommentar


              • #8
                das ist ja eigentlich egal ob der tag "01" oder "1" gespeichert ist, PHP konvertiert(wenn das schon nicht so ist) das schon in integer und vergleich die auf zahlenebene
                meine Projekte bestaunen: http://www.kleiza.de

                Kommentar


                • #9
                  ob es funktiniert....hm keine Ahnung...Fehlermeldung kommt keine
                  Was mich nur stutzig mach ist. ich hab in der db einen Wert drinnen für den Tag 30 =heute

                  den zeigt er mir nicht an

                  PHP-Code:
                  if ($date >= $datum['mday']) 
                  so schreibt er mir hin das der Tag noch nicht da ist

                  dreh ichs um
                  PHP-Code:
                  if ($date <= $datum['mday']) 
                  kommt das
                  ERROR[1064] You have an error in your SQL syntax near '' at line 1
                  ??
                  wie gehört es wirklich? <= oder >= ??
                  das check ich nicht ganz

                  Kommentar


                  • #10
                    Ich gestehe ich hab das alles nicht durchgelesen, aber wenn das 'date' Feld in der Datenbank das richtige Format hat, warum nicht so?
                    PHP-Code:
                    $query=("SELECT * FROM advent WHERE  date <= now()"); 
                    Wenn mein Einwand nicht dazupasst vergeßt ihn einfach ...

                    Kommentar


                    • #11
                      die idee hatte ich ja auch schon, aber ich übergebe den Tag ja per LInk an des Script - das geht dann nicht ganz

                      Kommentar


                      • #12
                        da stimmt schon irgendwas an der SQL anfrage nicht, bist du dir sicher, dass an $date ein wert übertragen wird ? die neueren versionen von PHP akzeptieren nur $_GET["date"]

                        prüf das mal...
                        meine Projekte bestaunen: http://www.kleiza.de

                        Kommentar


                        • #13
                          oh mann *PEEEINLICH*

                          ich hab mich vorher im Script mit den Variablen gespielt und jetzt vergessen die wieder auf $date zurüchzustellen :-)

                          das kommt davon wenn man seit 5h am PC sitzt


                          Es scheint jetzt aber zu funktionieren!!

                          DANKE AN ALLE!!

                          Kommentar


                          • #14
                            hööö ? wie war die den vorher ?

                            naja, frohe weihnachten
                            meine Projekte bestaunen: http://www.kleiza.de

                            Kommentar


                            • #15
                              die url vorher war so:

                              http://www.svm-fan.net/advent/advent.php?tag=00

                              tag anstatt von date )


                              ebenfalls frohe Weihnachten und eine besinnliche Adventszeit!

                              Kommentar

                              Lädt...
                              X