Meest recente datum tonen en oudere verwijderen!
Ik ben bezig met een soort agenda, nu wil ik dat alle oude datums standaart in de database verwijdert worden, en de nieuwste datum van bijv. het volgende evenement getoond wordt!
Is dit mogelijk, ik kom der zelf niet meer uit :S
Alvast bedankt!
Dus bijv.
Datum: Dinsdag 2 jan 2007 14:00 uur
id:5 datum: 2006-02-02 13:00:00 > Verwijderen!
id:1 datum: 2007-07-01 12:00:00 > Niks mee doen!
id:3 datum: 2007-01-02 18:00:00 > Tonen
Gewijzigd op 01/01/1970 01:00:00 door SaTZzz T.
http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html voor een hele serie datum en tijdsfuncties. Uiteraard sla je datums met tijden op in een DATETIME.
Verder zul je goed moeten bepalen wat er moet gebeuren. In jouw voorbeeld roep je dat alle oude datums moeten worden verwijderd, maar 1 januari 2007 (= oud) wil je blijkbaar niet verwijderen. Waarom niet?
Deze query verwijdert alle records met een datum in het verleden. Dus ook 1 januari 2007.
Tip: Waarom wil je deze data verwijderen? Het staat waarschijnlijk niemand in de weg en kan altijd nog handig zijn voor statistieken. Gewoon niet tonen voor het publiek en klaar ben je.
Zie Verder zul je goed moeten bepalen wat er moet gebeuren. In jouw voorbeeld roep je dat alle oude datums moeten worden verwijderd, maar 1 januari 2007 (= oud) wil je blijkbaar niet verwijderen. Waarom niet?
Deze query verwijdert alle records met een datum in het verleden. Dus ook 1 januari 2007.
Tip: Waarom wil je deze data verwijderen? Het staat waarschijnlijk niemand in de weg en kan altijd nog handig zijn voor statistieken. Gewoon niet tonen voor het publiek en klaar ben je.
zo verwijderen, denk dat dat wel werkt
tonen:
$query = "SELECT * FROM agena WHERE datum_tijd=CURDATE()";
misschien dat NOW() beter werkt ipv CURDATE()
heb dit zelf nog nooit gebruikt, maar dit lijkt me het logischt, hopelijk heb je er iets aan
Frank schreef op 02.01.2007 17:28:
Zie
In jouw voorbeeld roep je dat alle oude datums moeten worden verwijderd, maar 1 januari 2007 (= oud) wil je blijkbaar niet verwijderen. Waarom niet?
In jouw voorbeeld roep je dat alle oude datums moeten worden verwijderd, maar 1 januari 2007 (= oud) wil je blijkbaar niet verwijderen. Waarom niet?
Owh foutje, dat moet 1 februari zijn, dacht dat mysql JJJJ-MM-DD gebruikte, of is dat niet zow?
Stel ik laat de datums gewoon in de database staan, hoe kan ik ze dan het beste oproepen zonder dat ik de oudere datums krijg?
WHERE DATE(datumtijd) >= CURDATE()
zoals Frank al aangaf.
Die Mysql date functies zijn zeker de moeitewaard om even je in te verdiepen :D.
Gewijzigd op 01/01/1970 01:00:00 door SaTZzz T.
Ik heb de onderstaande php code:
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
<?php
//Database Gegevens
$db = mysql_connect("localhost", "root", "XXXXXX");
mysql_select_db("wettertoerkapel", $db)
or die ("Fout: openen database mislukt!");
//Toont laaste actuele gegevens..
$query = mysql_query("SELECT * FROM optredens WHERE DATE(datum) >= CURDATE()");
$gegevens = mysql_fetch_row($query);
print_r($gegevens);
?>
//Database Gegevens
$db = mysql_connect("localhost", "root", "XXXXXX");
mysql_select_db("wettertoerkapel", $db)
or die ("Fout: openen database mislukt!");
//Toont laaste actuele gegevens..
$query = mysql_query("SELECT * FROM optredens WHERE DATE(datum) >= CURDATE()");
$gegevens = mysql_fetch_row($query);
print_r($gegevens);
?>
en de volgende database gegevens:
Code (php)
1
2
3
4
2
3
4
id Datum Locatie Opmerking
3 2007-02-12 00:00:00 Ja Ja
2 2006-02-12 00:00:00 Nee Nee
1 2007-02-24 00:00:00 Nee Nee
3 2007-02-12 00:00:00 Ja Ja
2 2006-02-12 00:00:00 Nee Nee
1 2007-02-24 00:00:00 Nee Nee
Maar hij blijft 24 februari tonen, terwijl 12 februari recenter is!
Gewijzigd op 01/01/1970 01:00:00 door SaTZzz T.
De query zou trouwens zowel 4 als 24 januari moeten tonen (het is vandaag 3 januari).
Het is de bedoeling dat hij alleen de meest recente gaat tonen, dus 12 Feb. 2007. en de rest niet!
Gewijzigd op 01/01/1970 01:00:00 door SaTZzz T.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
//Toont laaste actuele gegevens..
$query = "
SELECT
*
FROM
optredens
WHERE
DATE(datum) >= CURDATE()
ORDER BY
datum DESC
LIMIT 1";
$result = mysql_query($query);
if ($result) {
while ($row = mysql_fetch_assoc($result)) {
echo $row['datum'];
}
}
else { // FOUTAFHANDELING !!! Mag nooit ontbreken
echo 'Query mislukt vanwege de volgende fout: '.mysql_error();
}
print_r($row); // testje...
?>
//Toont laaste actuele gegevens..
$query = "
SELECT
*
FROM
optredens
WHERE
DATE(datum) >= CURDATE()
ORDER BY
datum DESC
LIMIT 1";
$result = mysql_query($query);
if ($result) {
while ($row = mysql_fetch_assoc($result)) {
echo $row['datum'];
}
}
else { // FOUTAFHANDELING !!! Mag nooit ontbreken
echo 'Query mislukt vanwege de volgende fout: '.mysql_error();
}
print_r($row); // testje...
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
##Database Gegevens!
$db = mysql_connect("localhost", "root", "9202vb");
mysql_select_db("wettertoerkapel", $db)
or die ("Fout: openen database mislukt!");
##Query(SQL)
$query = "SELECT * FROM optredens WHERE DATE(datum) >= CURDATE() ORDER BY datum ASC LIMIT 0,1";
$result = mysql_query($query);
##Mysql Fout Controle!
if(!$result){
echo "<b>Query kon niet worden uitgevoerd<br></b>Error: " . mysql_error();
exit;
}
##Verwerk gegevens!
if(mysql_num_rows($result) > 0){
list($id, $datum, $locatie, $opmerking) = mysql_fetch_row($result);
echo ("$id <br> $datum <br> $locatie <br> $opmerking <br>");
}else{
echo "Geen Data's Gevonden!'";
}
?>
##Database Gegevens!
$db = mysql_connect("localhost", "root", "9202vb");
mysql_select_db("wettertoerkapel", $db)
or die ("Fout: openen database mislukt!");
##Query(SQL)
$query = "SELECT * FROM optredens WHERE DATE(datum) >= CURDATE() ORDER BY datum ASC LIMIT 0,1";
$result = mysql_query($query);
##Mysql Fout Controle!
if(!$result){
echo "<b>Query kon niet worden uitgevoerd<br></b>Error: " . mysql_error();
exit;
}
##Verwerk gegevens!
if(mysql_num_rows($result) > 0){
list($id, $datum, $locatie, $opmerking) = mysql_fetch_row($result);
echo ("$id <br> $datum <br> $locatie <br> $opmerking <br>");
}else{
echo "Geen Data's Gevonden!'";
}
?>
Bedankt, :D
Gewijzigd op 01/01/1970 01:00:00 door SaTZzz T.