Har ett litet problem där man ska kunna byta användarnamn en gång på 3 veckor. Alltså en sorts datediff sats som jämför datumet i databasen, alltså det datumet man ändrade användarnamn och dagens datum. Några förslag på hur detta ska lösas? :)
Hm, skulle man inte kunna lösa det på något sånt här sätt?
$datediff = date("Y-m-d H:i:s", date("U") - 20*60);
$SQL = mysql_query("SELECT * FROM members WHERE username_edit < '$datediff'") or die (mysql_error());
$objRS = mysql_fetch_array($SQL);
Fast detta markerar ju bara användarnamn som ändrade användarnamnet för 20 minuter sen, hur ändrar jag till 21 dagar?
Om jag har en kolumn i databasen som är date och NULL om den är tom (tom är den om inte användarn ändrat användarnamn ngn gång).
Hur skriver jag nu If satsen, om jag bara vill visa formuläret där man byter användarnamn om den specifika användaren inte bytt användarnamn de senaste 3 veckorna? (mkt användarnamn :))
Tänkte att det var onödigt och skapa en ny topic så jag fortsätter här.
Glöm koden ovanför, den funkade uppenbarligen inte.
Såhär ser den nuvarande koden ut iallafall
$datum1 = Dagens datum - 21 dagar
$datum2 = Datumet i databasen sparat som DATETIME
if($datum1 >= $datum2) {
echo "Du kan nu ändra ditt användarnamn";
} else {
echo "Icke sa nicke!";
}
Jag skrev date("Y-m-d H:i:s", date("j") - 21); men det funkade inge vidare. Hur skriver man? Kan någon förklara hur PHP:s datumfunktion funkar?
Aldrig fått pejl på det.
date("Y-m-d H:i:s", date("j") - 21)
Detta blir ju fel eftersom date("j") skulle idag validera till 21. Alltså, 21 - 21 = 0 som skulle ge detta:
date ( $format , 0)
Gör såhär:
$datum1 = Nu - 21 dagar
$datum2 = Från databasen. Datum för senaste ändringen. Hämta ut detta med UNIX_TIMESTAMP(). btw, varför NULL som default? Om du sätter "join date" istället för NULL kan du ju alltid kolla datum...