tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
357
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    skydragon skydragon ist offline Mitglied
    Registriert seit
    Nov 2005
    Beiträge
    24
    Hab ein kleines Problem

    ich hab ne terminabfrage und möchte das immer nur die datensätze ausgegeben werden, die heute oder in der nächsten zeit anstehen
    dazu folgenden code
    PHP-Code:
    $datum = date(d.".".m.".".Y);
    echo $datum;
      $term = "SELECT * FROM termine WHERE datum >= '$datum' ORDER BY datum ASC";
      //echo $term;
      $erg = mysql_query($term);
      //echo mysql_errno() . ": " . mysql_error(). "\n";
      $num = mysql_affected_rows();
      if ($num > 0){ 
      while($row = mysql_fetch_array($erg,MYSQL_ASSOC)){
          
        $id = $row['id'];
        $dat = $row['datum'];
        $termin = $row['termin'];
        
        ?>
        <center width = "400px">
        <p>
          <table bgcolor = "#FFFF00">
            <tr>
              <td width = "200px">
                Datum:
              </td>
              <td width = "200px">
                <? echo $dat?>
              </td>
            </tr> 
            <tr><td colspan = 2 height=3px bgcolor=#FFFFFF> </td></tr>
                     
            <tr>
              <td colspan = "2">
                <? echo $termin?>
              </td>          
            </tr>
          </table>  
          <p>
          <p>
          </center>
      <?
      
    }
    }
    else
      {echo 
    "Leider sind noch keine Termine bekannt!";}
     
    ?>
    leider funktioniert dies nicht so wie es soll. er prüft nur ob der tag und nicht das gesamte datum.
     

  2. #2
    mc_gulasch mc_gulasch ist offline Mitglied Brokat
    Registriert seit
    Jun 2006
    Ort
    (Bayern)
    Beiträge
    255
    Aloah,

    wenn ich mir so die Definition von date() auf der php.net seite anschaue, ist mir schon klar, warum das wohl nicht geht:
    string date ( string format [, int timestamp] )

    Returns a string formatted according to the given format string using the given integer timestamp or the current local time if no timestamp is given. In other words, timestamp is optional and defaults to the value of time().
    Was du bräuchtest ist mktime(). Bei dieser Funktion wird das Datum in einen int-Wert umgewandelt, der den Abstand von einem festen Zeitpunkt (Unix-Timestamp) berechnet. Dadurch sparst du dir zum einen nervige Datumsformate und du kannst zum anderen einfach int-Wert der Größe nach vergleichen.
    Hoffe das hilft dir weiter.

    Gulasch!
     
    There´re 10 kinds of people: The one who understand binary, and the others!

    {2b|^(2b)} - Shakespear


    "Offensichtlich spielst du kein Golf" (der Dude)


    Total egal wie bescheuert meine Frage auch ist: Ich bin NICHT Sven Uwe!

  3. #3
    skydragon skydragon ist offline Mitglied
    Registriert seit
    Nov 2005
    Beiträge
    24
    danke daran hab ich auch schon gedacht, mich aber noch nicht rangetraut. werd ich morgen mal versuchen
     

  4. #4
    skydragon skydragon ist offline Mitglied
    Registriert seit
    Nov 2005
    Beiträge
    24
    so hab das mal auspobiert und mir die werde ausgeben lassen. wenn ich die mktimewerte ausgeben lasse, hab ich etwas gemerkt, was mich verwundert hat.
    in der DB sind die Daten so hinterlegt: 25.07.2006.
    wenn ich nun einen termin auf den 30.07.2006 und 30.07.2007 ansetze bekomme ich zwei identische int werte. ist doch ein wenig komisch weil die daten ein jahr auseinander liegen
     

  5. #5
    mc_gulasch mc_gulasch ist offline Mitglied Brokat
    Registriert seit
    Jun 2006
    Ort
    (Bayern)
    Beiträge
    255
    Magst du mir bitte mal deinen mktime-Aufruf posten und magst du dir bitte Groß- und Kleinschreibung angewöhnen?
     
    There´re 10 kinds of people: The one who understand binary, and the others!

    {2b|^(2b)} - Shakespear


    "Offensichtlich spielst du kein Golf" (der Dude)


    Total egal wie bescheuert meine Frage auch ist: Ich bin NICHT Sven Uwe!

  6. #6
    skydragon skydragon ist offline Mitglied
    Registriert seit
    Nov 2005
    Beiträge
    24
    PHP-Code:
    $datum = date(d.".".m.".".Y);
    $go = "geil";

    $test = mktime($geil). "<br>";
    echo $test;
      $term = "SELECT * FROM termine WHERE datum >= '$test' ORDER BY datum ASC";
      //echo $term;
      $erg = mysql_query($term);
      //echo mysql_errno() . ": " . mysql_error(). "\n";
      $num = mysql_affected_rows();
      if ($num > 0){ 
      while($row = mysql_fetch_array($erg,MYSQL_ASSOC)){
          
        $id = $row['id'];
        $dat = $row['datum'];
        $termin = $row['termin'];
        echo mktime($dat);
        ?>
        <center width = "400px">
        <p>
          <table bgcolor = "#FFFF00">
            <tr>
              <td width = "200px">
                Datum:
              </td>
              <td width = "200px">
                <? echo $dat?>
              </td>
            </tr> 
            <tr><td colspan = 2 height=3px bgcolor=#FFFFFF> </td></tr>
                     
            <tr>
              <td colspan = "2">
                <? echo $termin?>
              </td>          
            </tr>
          </table>  
          <p>
          <p>
          </center>
     

  7. #7
    mc_gulasch mc_gulasch ist offline Mitglied Brokat
    Registriert seit
    Jun 2006
    Ort
    (Bayern)
    Beiträge
    255
    Ah ja,
    ich bräucht jetzt allerdings noch die Info was genau
    Code :
    1
    
    $geil
    ist.
    Ausserdem:
    Code :
    1
    2
    3
    
    $test = mktime($geil). "<br>"; 
    echo $test; 
      $term = "SELECT * FROM termine WHERE datum >= '$test' ORDER BY datum ASC";
    Hier setzt du $test auf eine String-Variable indem du sie mit "<br>" verbindest und anschließend vergleichst du datum mit eben diesem String. Das kann nicht klappen.
     
    There´re 10 kinds of people: The one who understand binary, and the others!

    {2b|^(2b)} - Shakespear


    "Offensichtlich spielst du kein Golf" (der Dude)


    Total egal wie bescheuert meine Frage auch ist: Ich bin NICHT Sven Uwe!

  8. #8
    skydragon skydragon ist offline Mitglied
    Registriert seit
    Nov 2005
    Beiträge
    24
    das war eigentlich nur um was zu testen habs vergessen wieder um zu ändern

    PHP-Code:
    $datum = date(d.".".m.".".Y);


    $test = mktime($datum). "<br>";
    echo $test;
      $term = "SELECT * FROM termine WHERE datum >= $test ORDER BY datum ASC";
      //echo $term;
      $erg = mysql_query($term);
      //echo mysql_errno() . ": " . mysql_error(). "\n";
      $num = mysql_affected_rows();
      if ($num > 0){ 
      while($row = mysql_fetch_array($erg,MYSQL_ASSOC)){
          
        $id = $row['id'];
        $dat = $row['datum'];
        $termin = $row['termin'];
        echo mktime($dat);
        ?>
        <center width = "400px">
        <p>
          <table bgcolor = "#FFFF00">
            <tr>
              <td width = "200px">
                Datum:
              </td>
              <td width = "200px">
                <? echo $dat?>
              </td>
            </tr> 
            <tr><td colspan = 2 height=3px bgcolor=#FFFFFF> </td></tr>
                     
            <tr>
              <td colspan = "2">
                <? echo $termin?>
              </td>          
            </tr>
          </table>  
          <p>
          <p>
          </center>
      <?
      
    }
    }
    else
      {echo 
    "Leider sind noch keine Termine bekannt!";}
     

  9. #9
    mc_gulasch mc_gulasch ist offline Mitglied Brokat
    Registriert seit
    Jun 2006
    Ort
    (Bayern)
    Beiträge
    255
    Schau dir mal den Aufruf von mktime genau an. Versuch es mal mit:
    Zitat Zitat von php.net
    It is possible to use date() and mktime() together to find dates in the future or the past.
    Example 3. date() and mktime()example
    PHP-Code:
    $tomorrow  mktime(000date("m")  , date("d")+1date("Y"));
    $lastmonth mktime(000date("m")-1date("d"),  date("Y"));
    $nextyear  mktime(000date("m"),  date("d"),  date("Y")+1); 
     
    There´re 10 kinds of people: The one who understand binary, and the others!

    {2b|^(2b)} - Shakespear


    "Offensichtlich spielst du kein Golf" (der Dude)


    Total egal wie bescheuert meine Frage auch ist: Ich bin NICHT Sven Uwe!

Ähnliche Themen

  1. Wieviel Tage ab einem bestimmten Datum?
    Von Hattrix im Forum PHP
    Antworten: 1
    Letzter Beitrag: 06.06.08, 17:57
  2. Antworten: 1
    Letzter Beitrag: 22.10.05, 13:11
  3. Antworten: 3
    Letzter Beitrag: 01.04.05, 15:48
  4. Auslesen aus nach einem bestimmten Datum
    Von Svenja_Berlin im Forum PHP
    Antworten: 28
    Letzter Beitrag: 31.03.05, 00:36
  5. Mysql - Abfrage nach einem bestimmten Datum oder Range?
    Von Deletemaster im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 16.02.05, 22:33