php tijd vergelijken

  • Onderwerp starter Onderwerp starter Cazz
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Cazz

Gebruiker
Lid geworden
28 mei 2010
Berichten
23
ik heb een vraag. ik heb een script die de tijd van vandaag vergelijkt met de tijd die ik opgeslagen heb in mijn database, maar nu wil ik dat als die tijd gelijk aan elkaar is dan moet die een table updaten. Maar dit werkt niet weet iemand misschien hoe ik het werkt kan maken.

hier het script
PHP:
<?
include('config.php');

$sql="SELECT * FROM vip WHERE username='admin'";
$result=mysql_query($sql);


$rows=mysql_fetch_array($result);
if (date('Y-m-d') == $rows['time']){
		echo"<script>alert('je Premiemship is verlopen.');</script>";	
	}
$sql1="UPDATE vip SET time='0' vipstatus='geenvip' WHERE username='admin'";
	$result1=mysql_query($sql1); 
	if ($result1){
		echo "klaar";/// dit is er even voor als het werkt dan kan ik het weg halen
}
mysql_close();
?>

alvast bedankt :thumb:
 
Sowieso geen == gebruiken, de kans dat de tijd precies hetzelfde is, is heel erg klein. Hoe heb je de tijd in de database opgeslagen? Als een datetime? Dan kun je de vergelijking het beste doen in de database zelf met bijv. "WHERE datum < NOW()" ipv in PHP.
 
Je vergelijkt Y-M-D met een veld waar waarschijnlijk Y-M-D H:M in staat, dat komt nooit overeen
 
ik vergelijkt het veld waar in staat Y-m-d het eerste deel lukt
PHP:
if (date('Y-m-d') == $rows['time']){
        echo"<script>alert('je Premiemship is verlopen.');</script>";
dat lukt maar nu kan ik de time niet updaten want die moet op 0 staan als de prem van de persoon afgelopen is
 
Hoezo kan je de time niet updaten? Gewoon een update query draaien.

En je moet echt gebruik maken van kleiner dan en niet is, anders hebben users onbeperkt premium als ze niet inloggen op de dag waarop hun premium verloopt.
 
mijn script ziet er nu zo uit ik heb == er uitgehaalt een vervangen door '<' kleiner dan
PHP:
$sql="SELECT * FROM vip WHERE username='admin'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
if ($rows['time']< date('Y-m-d')){
		echo"<script>alert('je Premiemship is verlopen.');</script>";
$sql="UPDATE vip SET time='0', vipstatus='geenvip' WHERE username='admin'";
}

ik denk dat ik iets fout gedaan heb ik bij de update.
maar hoe zouden jullie dit script maken want ik heb nu geen idee meer hoe ik het op kan lossen
 
Uh, tenzij je die query ook nog ergens uitvoert (met mysql_query() ) is het alleen maar een stukje tekst waar verder niks mee gedaan wordt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan