Linken laten zien toegevoegd afgelopen week
Kan ik linken uit de database halen die ik er afgelopen week in heb gestopt om die te laten zien?
Hoe ziet die query eruit.
zoiets zul je moeten hebben denk ik
Voor links in de afgelopen week (dus ma-zo):
Versie 2 werkt wel maar versie 1 niet, dan kunnen de gegevens niet weergegeven worden.
Versie 2 heb ik wel iets aan toegevoegd anders gaf hij linken weer die ik vorig jaar had toegevoegd.
Code (php)
1
2
3
2
3
<?php
FROM links WHERE WEEK(toegevoegd, 1) = WEEK(NOW(), 1) AND YEAR(toegevoegd) = YEAR(CURDATE()) ORDER BY links_id';
?>
FROM links WHERE WEEK(toegevoegd, 1) = WEEK(NOW(), 1) AND YEAR(toegevoegd) = YEAR(CURDATE()) ORDER BY links_id';
?>
Het zou ook fijn zijn om versie 1 werkend te krijgen.
Wat gaat er precies fout dan? Want als het hier uitprobeer werkt die query gewoon...
Hij geeft de gegevens niet weer, alsof er een typfout gemaakt is.
Code (php)
1
$query = 'SELECT * ,DATE_FORMAT(toegevoegd, "%d-%m-%Y") AS toegevoegd,DATE_FORMAT(updatedatum, "%d-%m-%Y") AS updatedatum FROM links WHERE toegevoegd >= DATE_SUB(NOW(), INTERVAL 1 WEEK)';
error_reporting(E_ALL); laat niets zien
EDIT: Morgen verder....
En wordt nu waarschijnlijk niet gekeken naar de datum kolom in de WHERE clause, maar maar de geformatteerde datum aangeduid met de alias. Maak van die aliassen dus iets als toegevoegd_formatted en updatedatum_formatted, dat zegt tenminst ook wat over de inhoud...
Ik heb nu de alias gewijzigd maar de pagina kan nog steeds niet weergegeven worden.
Code (php)
1
$query = 'SELECT * ,DATE_FORMAT(toegevoegd, "%d-%m-%Y") AS toegevoegddatum,DATE_FORMAT(updatedatum, "%d-%m-%Y") AS updatedatum FROM links WHERE toegevoegd >= DATE_SUB(NOW(), INTERVAL 1 WEEK) ';
Dit stukje had ik ook al gewijzigd in
maar geeft ook geen resultaat.
Maar goed, controleer je of je query gelukt is? Gaat het daar fout en zo ja, welke foutmelding wordt er dan gegegeven, of gaat het ergens anders in je script fout?
Code (php)
1
2
2
$query = 'SELECT * ,DATE_FORMAT(toegevoegd, "%d-%m-%Y") AS toegevoegddatum,DATE_FORMAT(updatedatum, "%d-%m-%Y") AS updatedatum FROM links WHERE toegevoegd >= DATE_SUB(NOW(), INTERVAL 1 WEEK) ';
$result = mysql_query($query) or die ("Sorry maar ik kan de gegevens niet weergeven, probeer het later opnieuw.");
$result = mysql_query($query) or die ("Sorry maar ik kan de gegevens niet weergeven, probeer het later opnieuw.");
Als jij namelijk aan het debuggen bent, wil je natuurlijk ook weten wát er dan wel fout gaat. Laat dus met mysql_error() ook altijd de foutmelding zien die de mysql query genereert.
Dit is de foutmelding:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WEEK)' at line 1
SELECT linknaam
FROM tabelnaam
WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= toegevoegd
veldnamen en tabelnaam even aanpassen naar je eigen situatie
Bedankt Jan, het werkt.