webForumDet fria alternativet

Hjälp med DATEDIFF

3 svar · 507 visningar · startad av niklas_

niklas_Medlem sedan mars 20122 inlägg
#1

Hej,

Behöver hjälp med att kontrollera om vip-medlemskapet har gått ut för en medlem och isåfall ändra usrLevel till 0. Får inte nedanstående att fungera:

<?php
$con = mysql_connect("server","user","pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("site_com", $con);

$result = mysql_query("SELECT * FROM users WHERE userID = '25' ");

while($row = mysql_fetch_array($result))
{ if ( dateDiff( "d", date('Y-m-d'), $row['levelEnd'] ) == '0' ) {
$sql = "UPDATE users SET usrLevel = '0' WHERE userID = '25' ";
} }

mysql_close($con);
?>

@ndersMedlem sedan juni 200026 914 inlägg
#2

En uppenbar grej är att du aldrig exekverar SQL-frågan $sql. Jag kan också tycka det känns lite konstigt att göra en loop trots att du vet att du bara har en post. Men det lämnar vi nu.

Följande SQL-fråga borde uppdatera posten om datum i levelEnd är tidigare än, eller idag. Vill du ha bara tidigare än så är det bara att ta bort =.

UPDATE users SET usrLevel = '0' WHERE userID = '25' AND levelEnd <= CURRENT_DATE()

Med denna SQL-fråga behöver du alltså inte göra en SELECT först - så du kan kapa en del av din kod.

I övrigt ger "får inte nedanstående att fungera" oss ganska dålig ledning i vad som är fel. På vilket sätt fungerar det inte? Felmeddelande?

Mvh

niklas_Medlem sedan mars 20122 inlägg
#3

Tusen tack @anders
Är som sagt ny på det hela, men ser framemot att lära mig mycket framöver.

@ndersMedlem sedan juni 200026 914 inlägg
#4

Alla är nya någon gång! :)

Välkommen till webForum! :bire

Genererad på 379 ms · cache AV · v20260730165559-full.f96bc7eb