pdo und timestamp

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

  • 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,

    Zitat von der_meier_hans Beitrag anzeigen
    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]

    Kommentar


    • #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ß

      Kommentar


      • #4
        Zitat von der_meier_hans Beitrag anzeigen
        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
        Zuletzt geändert von AmicaNoctis; 09.09.2009, 08: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]

        Kommentar

        Lädt...
        X