huidige tijd met database tijd vergelijken!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Richard Hoek

Richard Hoek

15/12/2014 12:15:09
Quote Anchor link
Ik heb een probleempje met de tijden vergelijken van mijn database en de tijd van vandaag.
Ik heb gelezen dat dat met de functie strtotime kan. Echter snap ik het niet helemaal en lukt het mij telkens niet op de tijden goed te vergelijken.
Kan iemand mij helpen misschien?

mvg

richard
 
PHP hulp

PHP hulp

22/11/2024 07:28:03
 
Kevin J

Kevin J

15/12/2014 12:17:59
Quote Anchor link
Zou je de vraag beter kunnen uitleggen

En de tijd hier posten die de database geeft en welke jij zelf hebt gemaakt door middel van een PHP code?
 
- SanThe -

- SanThe -

15/12/2014 12:20:01
Quote Anchor link
In de database?
datumveld en NOW() gebruiken.
 
Richard Hoek

Richard Hoek

17/12/2014 09:31:00
Quote Anchor link
In mijn database heb ik een veld staan waar een Expiredate staan die in het formaat YYYY-m-d staat. Wat ik wil is dat er bij het inloggen de huidige tijd word vergeleken met me expiredate.
Op het punt dat de huidige tijd hoger is dan de expiredate dan is zeg maar zijn "abonnement" afgelopen en moet hij opnieuw betalen.

Echter is het mij niet gelukt om dit op te lossen. Ik heb wel vernomen om met strtotime te werken. Allen het lukt me niet

Ik hoop dat u hier mee aan heeft.

mvg Richard
 
Ward van der Put
Moderator

Ward van der Put

17/12/2014 09:36:42
Quote Anchor link
>> In mijn database heb ik een veld staan waar een Expiredate staan die in het formaat YYYY-m-d staat.

Is dat een DATE met een echte datum of slechts een VARCHAR of CHAR met een string?

Je kunt met een DATE namelijk heel eenvoudig een query uitvoeren met een conditie zoals:

WHERE expire_date < CURDATE()

Is de kolom toch een string, dan kun je er nog met de functie DATE() een datum van maken:

WHERE DATE(expire_date) < CURDATE()
 
Richard Hoek

Richard Hoek

17/12/2014 09:48:55
Quote Anchor link
De expiredate is een DATE. ik heb nu de volgende code;

$query1 = mysqli_query($db, "SELECT * FROM leden WHERE email = '" . $user . "' AND password = '" . sha1($pass). "' AND expireDatetime < CURDATE() ") or die("Can not query DB.");
$count = mysqli_num_rows($query1);

if ($count == 1) {
//YES WE FOUND A MATCH!
$_SESSION['username'] = $user; //Create a session for the user!
header("location: panel.php");
echo"<div style='text-align: center'> succesvol aangemeld</div>";
} else {
$query2 = mysqli_query($db, "SELECT status FROM leden WHERE email = '" . $user . "' AND password = '" . sha1($pass). "'") or die("Can not query DB.");
$count = mysqli_num_rows($query2);

if ($count == 1) {
//YES WE FOUND A MATCH!
$_SESSION['registreren'] = $user; //Create a session for the user!
header("location: fout.php");
echo"<div style='text-align: center'> U moet opnieuw betalen!</div>";
}
 
Ward van der Put
Moderator

Ward van der Put

17/12/2014 10:21:28
Quote Anchor link
Je kunt beter een SELECT COUNT(*) AS total gebruiken: die retourneert maar één rij met één getal.

Dat is efficiënter dan een SELECT * gevolgd door een $count = mysqli_num_rows(...).
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.