Hallo, Ik zit al weer een paar dagen op iets anders vast te modderen.
Het gaat namelijk om de volgende code waardoor ik de registratie datum en tijd van een lid (2007-08-29 22:28:53) uit een mysql database haal. Alleen ik wil laten zie Hoelang het Lid al geregistreerd staat.

De $row staat ergens anders geincluded, dat is geen probleem. Alleen deze code geeft als uitkomst: 1227481985 aantal dagen? :S

Ik snap hem even niet meer.
- Mizy


<?php 

$vandaag = time();
$reg = $row['regdatum'];

$time = $vandaag - $reg;
$dagen = $time;

echo "$dagen";
?>
De functie time() geeft je de huidige tijd in seconden sinds 1970. In wat voor formaat krijg je $row['regdatum']? Op de manier die je aangaf?
met mysql kan je ditoplossen


select TO_DAYS(NOW()) - TO_DAYS(regdatum) FROM <table>

of als je mysql5 hebt

SELECT datediff(NOW(), regdatum) as regtime FROM <table>


wat je nu ook kan doen is er een timestamp van maken ( met mysql )
maar kijk maar eens op www.google.nl voor meer informatie
Ik zou voor de (My)SQL oplossing gaan. Die is sneller, en je krijgt uit je database meteen de juiste gegevens terug. Geen overbodige gegevens dus.

Ik snap ook eigenlijk niet waarom je dat in PHP wou berekenen.
Chilion schreef op 24.11.2008 09:36
@Mikey, je code klopt niet. Datediff heeft 3 argumenten nodig.

SELECT DATEDIFF(dd, '$datumaanmelding', '$datumvandaag') AS lidmaatschapstijd

En dan natuurlijk de variabelen even aanpassen.

Meer info: http://msdn.microsoft.com/en-us/library/aa258269(SQL.80).aspx

Chilion


dan moet je de documentatie van MySQL even goed doorlezen.

dit is geen MsSQL

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_datediff
Chilion schreef op 24.11.2008 09:36
@Mikey, je code klopt niet. Datediff heeft 3 argumenten nodig.

SELECT DATEDIFF(dd, '$datumaanmelding', '$datumvandaag') AS lidmaatschapstijd

En dan natuurlijk de variabelen even aanpassen.

Meer info: http://msdn.microsoft.com/en-us/library/aa258269(SQL.80).aspx

Chilion

Dat is Microsoft SQL Server.
Bedankt! Deze code heb ik nu in elkaar kunnen flansen en het werkt! :)



<?php 

$sql_count_avg = "
    SELECT 
        DATEDIFF( CURDATE( ) , MIN( DATE( regdatum ) ) ) AS days
    FROM 
        leden";

if($result_count_avg = mysql_query($sql_count_avg)){
    if(mysql_num_rows($result_count_avg) >= 1){
        $row_count_avg = mysql_fetch_assoc($result_count_avg);
        }
    else{
        $row_count_avg['days'] = 0;
        }
    }


$dagen = $row_count_avg['days'];

echo "Je bent al ".$dagen." lid! Hoera, Hoezee, Gefeliciteerd! :)";
?>
@ Mikey, het past mij om op nederige wijze van excuses aan te bieden. Sorry dus :)
@Chilion
geeft niet :) beetje snelle reactie

ik begon aanmezelf te twijfelen :)

wacht maar tot mijn advocaat contact met de jouw opneemt, ik heb een complex nu.

:P


Mitchell
Mitchell schreef op 24.11.2008 14:57
Bedankt! Deze code heb ik nu in elkaar kunnen flansen en het werkt! :)



[knip]


mooi zo, veel plezier verder met je code

Reageren