Datum van laatste zaterdag
Voor de statestieken heb ik een update pagina gemaakt en elke zaterdag moeten de statestieken worden geupdate. Daarom is die link daar naar toe alleen zichtbaar als het zaterdag is (en als je nog nooit eerder hebt geupdate).
Maar nou het probleem, wat als ze het vergeten up te daten. Dan moet het een dag later of zo gebeuren, maar dan is die link er niet, dus daarom wou ik dat het scriptje ook controleerd of de laatste zaterdag de zaterdag is die in de database staat als 'updatetime' (updatetime = de datum waarop de laatste keer is geupdate)
maar hoe ik dat maak zou ik niet weten, iemand misschien tips??
Ik zou wel iets meer info willen. Maak je gebruik van een database? Hoe sla je je datums op?
Er staat ook bij dat het een database betreft. ('of de laatste zaterdag de zaterdag is die in de database staat)
@Chris
Dat kan je doen met Timediff in MySQL. Controleer gewoon of het verschil tussen updatetime en de huidige tijd (NOW()) kleiner is dan 7 dagen, Zo nee, dan is het niet de laatste zaterdag die er staat.
Gewijzigd op 01/01/1970 01:00:00 door Chris
@ Robert: klopt, had ik overheen gelezen ;-) Maar die TIMEDIFF zou ik niet doen, want dan krijg je ook een TIME value terug. DATEDIFF geeft meteen al een waarde in dagen terug en is hier dus de aangewezen manier.
geen exacte tijd
Heb je het niet zo, dan kun je ook niet rekenen met de MySQL functies voor datum en tijd.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$updatetime = date("D, d");
$query = "INSERT INTO trsstats (traviannaam,pop,codo,hout,klei,ijzer,graan,updatetime) VALUES ('$traviannaam','$pop','$codo','$hout','$klei','$ijzer','$graan','$updatetime')";
?>
$updatetime = date("D, d");
$query = "INSERT INTO trsstats (traviannaam,pop,codo,hout,klei,ijzer,graan,updatetime) VALUES ('$traviannaam','$pop','$codo','$hout','$klei','$ijzer','$graan','$updatetime')";
?>
zal ik dat ook wel verandere
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?PHP
$query = "INSERT INTO trsstats
(traviannaam,pop,codo,hout,klei,ijzer,graan,updatetime)
VALUES
('$traviannaam','$pop','$codo','$hout','$klei','$ijzer','$graan',CURDATE())";
?>
$query = "INSERT INTO trsstats
(traviannaam,pop,codo,hout,klei,ijzer,graan,updatetime)
VALUES
('$traviannaam','$pop','$codo','$hout','$klei','$ijzer','$graan',CURDATE())";
?>
als je een DATE veld gebruikt, of zo:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?PHP
$query = "INSERT INTO trsstats
(traviannaam,pop,codo,hout,klei,ijzer,graan,updatetime)
VALUES
('$traviannaam','$pop','$codo','$hout','$klei','$ijzer','$graan',NOW())";
?>
$query = "INSERT INTO trsstats
(traviannaam,pop,codo,hout,klei,ijzer,graan,updatetime)
VALUES
('$traviannaam','$pop','$codo','$hout','$klei','$ijzer','$graan',NOW())";
?>
als je een DATETIME veld gebruikt.
nou het in het script verwerken:P
bedankt he robert en jan:)
Gewijzigd op 01/01/1970 01:00:00 door Chris
Jan Koehoorn schreef op 01.04.2007 11:05:
@ Robert: klopt, had ik overheen gelezen ;-) Maar die TIMEDIFF zou ik niet doen, want dan krijg je ook een TIME value terug. DATEDIFF geeft meteen al een waarde in dagen terug en is hier dus de aangewezen manier.
Owja, ik ken die functies van MySQL nog niet zo heel goed. Dacht dat je bij Timediff aan kon geven als wat voor getal je die terug wou hebben (uren, dagen, minuten) maar blijkbaar vergiste ik mij daarin. Bedankt voor de verbetering.
Nou ga ik dus in de 'updatetime' tabel zo'n soort datum krijgen: 2007-04-01
Bij mijn eerste kon je heel makkelijk controleren of het een vrijdag is of niet maar hoe moet ik controleren bij een datum als 2007-04-01 of het vrijdag is of niet?
Gewijzigd op 01/01/1970 01:00:00 door Chris
oke zal ik dat is even proberen:)
maar hier ben ik weer
enne ik kom er nog niet echt uit, op die site stond iets wat een datum omzet in het nummer van de dag van de week.
Zondag = 1
Maandag = 2
enzevoort...
Dit stond er dan:
------------------------------
DAYOFWEEK(date)
Returns the weekday index for date (1 = Sunday, 2 = Monday, …, 7 = Saturday). These index values correspond to the ODBC standard.
mysql> SELECT DAYOFWEEK('1998-02-03');
-> 3
------------------------------
Maar hoe moet dit nu verder dan?
dan krijg ik dit:
Resource id #3
oftwel zo moet het ook niet
dus weet iemand hoe dit moet?
Gewijzigd op 01/01/1970 01:00:00 door Chris
dit heb ik nou gebruikt als phpcode:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
$sql = "SELECT DAYOFWEEK('2007-04-13')";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
echo $row;
?>
$sql = "SELECT DAYOFWEEK('2007-04-13')";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
echo $row;
?>
maar dat moet niet op beeld komen
Gewijzigd op 01/01/1970 01:00:00 door Chris
veel uitleg maar ik snap er niks van :$
lui bij mij in de buurt en van msn snappe er ook niks van dus probeer het hier nog maar een keer
Mijn doel is gewoon het nummer van de dag van de week in beeld krijgen via DAYOFWEEK, zondag = 1, maandag = 2, etc
maar ik kom er niet echt uit, weet iemand miss een scriptje waar het voor word gedaan?? ik kan die niet echt vinden
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?
include("config.php");
$sql = "SELECT DAYOFWEEK('2007-04-20')";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row['datum'];
}
?>
include("config.php");
$sql = "SELECT DAYOFWEEK('2007-04-20')";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row['datum'];
}
?>
oke ik heb het veranderd nou staat er geen Array meer maar nou staat er helemaal niks
ik dacht dat misschien je met datum bedoelde de datum (dus nu is dat 2007-04-20), maar krijg ik het zelfde effect als dat er staat datum, ook niks
staat er nog wat fout in dat script want ik zie het echt niet :S
als iemand het weet kun je dan misschien mijn script goed aanpassen zodat ik de fout zo kan zien?
$sql = "SELECT DAYOFWEEK('2007-04-20') AS datum";