pdo und timestamp

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • pdo und timestamp

    Hallo!

    Ich habe folgende Abfrage:
    PHP Code:
    $data = array(
     
    'id'
    'type'
    'date'
    'city'
    'route'
    'dateScheduled'
    'dateOffset'
    );

    $driveTime date("Y-m-d H:i:s"strtotime("+1 hours"strtotime($driveDate)));

    $db getDbParam();

    $select $db->select()
    ->
    from('route'$data)

    ->
    where(strtotime('dateScheduled')  "<= ?"strtotime($driveTime) + ('dateOffset' 60));

    .
    .


    $driveDate = Datum aus Formular;
    $dateOffset = Verspätung in Sekunden;
    dateScheduled liegt als Date Format in Tabelle vor.
    dateOffset als int Wert in Sekunden

    Ich versuche nun aus der Spalte dateScheduled ein timestamp Format zu erstellen, welches ich dann wiederum mit $driveTime + die Verpätete Zeit vergleichen möchte. Alles soll in Timestamp umgewandelt werden. Kann überhaupt auf eine Spalte, ein Timestamp angewendet werden?
    strtotime('dateScheduled')
    Auch wenn ich direkt die Spalten als UNIX_TIMESTAMP aufrufe funktioniert es nicht.

    Danke

  • #2
    Hallo Hans,

    Originally posted by der_meier_hans View Post
    PHP Code:
    ->where(strtotime('dateScheduled')  "<= ?", ... 
    strtotime('dateScheduled') ergibt einen leeren String. Außerdem fehlt dort vermutlich der Konkatenationsoperator. Du meinst bestimmt
    PHP Code:
    ->where("`dateScheduled`<= ?", ... 
    oder?

    Gruß,

    Anja
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Comment


    • #3
      Danke!

      Aber ist es möglich so eine Prüfung zum machen strtotime('dateScheduled'), also die Werte aus der Spalte sollen als Timestamp ausgelsen werden.

      Gruß

      Comment


      • #4
        Originally posted by der_meier_hans View Post
        Aber ist es möglich so eine Prüfung zum machen strtotime('dateScheduled'), also die Werte aus der Spalte sollen als Timestamp ausgelsen werden.
        Dann muss das aber schon in der Abfrage passieren, also nicht mit PHP, sondern mit SQL:
        PHP Code:
        ->where("unix_timestamp(`dateScheduled`) <= ?", ... 
        Das was du mit $driveTime machst, kommt mir auch merkwürdig vor: Zu timestamp konvertieren, dann nochmal, um eine Stunde anzuhängen, dann zurück in normales Datum und bei der Übergabe an die where-Methode wieder zu timestamp. Wenn du das nochmal überdenkst, brauchst du o. g. SQL-Funktion unix_timestamp eigentlich gar nicht, um die zu vergleichen.

        Gruß,

        Anja
        Last edited by AmicaNoctis; 09-09-2009, 07:30.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Comment

        Working...
        X