Vinzenz Mai: Datumsdifferenz berechnen

Beitrag lesen

Hallo Ute,

» die DATEDIFF-Funktion musst Du in Dein SQL-Statement einbauen, wenn PHP das Ergebnis abarbeitet, ist es zu spät. Daher wäre es eine gute Idee, statt des verarbeitenden PHP-Codes das SQL-Statement zu zeigen.

$query="select * from users, data where users.userid=data.userid" ;

es ist eine gute Idee, SQL-Schlüsselworte groß zu schreiben, die Syntaxhervorhebung des Forums zu nutzen und explizite Joins statt implizite in der WHERE-Klausel zu schreiben.

SELECT  
    *  
FROM  
    users  
INNER JOIN  
    data  
ON  
    users.userid = data.userid  

Leider verrät mir SELECT * ... nicht, wie Deine Datumsspalte heißt :-(

Wenn ich dich richtig verstanden habe, muss in diese also die datediff mit rein?

Ja:

SELECT  
    *,  
    [link:http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_datediff@title=DATEDIFF](  
        [link:http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_curdate@title=CURDATE()],       -- der erste Parameter muss der spätere Zeitpunkt sein  
        <deine_datumsspalte> -- natürlich nicht in spitze Klammern :-)  
    ) tage                   -- ein netter Spaltenname; Du kannst in PHP somit  
                             -- leichter auf diese Spalte zugreifen  
FROM  
    users  
INNER JOIN  
    data  
ON  
    users.userid = data.userid  

Wenn Du nicht alle Spalten beider Tabellen benötigst, ist es sinnvoll, die Spalten in der Spaltenliste einzeln aufzuführen.

Freundliche Grüße

Vinzenz