Link 7 dagen als "nieuw" markeren
Op onderstaande manier kan ik laten zien dat een link vandaag is toegevoegd. Hij wordt dan namelijk vet weergegeven.
Hoe kan ik dit gedeelte wijzigen zodat die link 7 dagen vet gedrukt blijft?
EDIT typfout
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
if($row['toegevoegd'] == date('Y-m-d')){
echo '-<a href="website.php?link_id='. $row['link_id'].'" target="_blank" title="'. $row['link_naam'].'" class="nieuw">'.$row['link_naam'].'</a><br />';
}else{
echo '-<a href="website.php?link_id='. $row['link_id'].'" target="_blank" title="'. $row['link_naam'].'">'.$row['link_naam'].'</a><br>';
}
?>
if($row['toegevoegd'] == date('Y-m-d')){
echo '-<a href="website.php?link_id='. $row['link_id'].'" target="_blank" title="'. $row['link_naam'].'" class="nieuw">'.$row['link_naam'].'</a><br />';
}else{
echo '-<a href="website.php?link_id='. $row['link_id'].'" target="_blank" title="'. $row['link_naam'].'">'.$row['link_naam'].'</a><br>';
}
?>
Code (php)
Natuurlijk wel de 7dagenlaterstamp in de database staan, want anders wordt het nooit false :P
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
En als je een link toevoegd vul je hier de datum in van een week in de toekomst.
Elsy je kan proberen om van de database datum een timestamp te maken (strototime()) zo uit mijn hoofd en die te vergelijken met de datum van vandaag + 7 dagen (time() + 60 * 60 * 24 * 7)
Eris schreef op 02.04.2007 10:00:
Gamer dat moet je juist nu vermijden om extra data toe te voegen
Elsy je kan proberen om van de database datum een timestamp te maken (strototime()) zo uit mijn hoofd en die te vergelijken met de datum van vandaag + 7 dagen (time() + 60 * 60 * 24 * 7)
Elsy je kan proberen om van de database datum een timestamp te maken (strototime()) zo uit mijn hoofd en die te vergelijken met de datum van vandaag + 7 dagen (time() + 60 * 60 * 24 * 7)
Je hoeft maar één veldje toe te voegen aan de tabel: weeklater
Verder als je dit gaat doen is het vandaag:
Maandag + 7 = Volgende week maandag (okej, klopt)
Dinsdag + 7 = Volgende week dinsdag (hmmz, het moet nu ineens op 6 worden). Kortom, de weeklater is niet statisch, dus het moet ergens vast staan. En dat doe je doormiddel van één extra veldje toe tevoegen aan de tabel.
GaMer13 schreef op 02.04.2007 09:48:
Laat de datum van wanneer het toegevoegd is staan als een timestamp. Dan, maak een timestamp van 7 dagen later en gebruik een if clause zoals hieronder:
Natuurlijk wel de 7dagenlaterstamp in de database staan, want anders wordt het nooit false :P
Code (php)
Natuurlijk wel de 7dagenlaterstamp in de database staan, want anders wordt het nooit false :P
Het lukt niet omdat "toegevoegd" altijd kleiner blijft dan "weeklater" want daar vul ik gewoon een datum in van toevoeging en die veranderd dus niet.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
if((strtotime($row['toegevoegd']) + 3600 * 24 * 7 ) >= time() )
{
echo '-<a href="website.php?link_id='. $row['link_id'].'" target="_blank" title="'. $row['link_naam'].'" class="nieuw">'.$row['link_naam'].'</a><br />';
}
else
{
echo '-<a href="website.php?link_id='. $row['link_id'].'" target="_blank" title="'. $row['link_naam'].'">'.$row['link_naam'].'</a><br>';
}
?>
if((strtotime($row['toegevoegd']) + 3600 * 24 * 7 ) >= time() )
{
echo '-<a href="website.php?link_id='. $row['link_id'].'" target="_blank" title="'. $row['link_naam'].'" class="nieuw">'.$row['link_naam'].'</a><br />';
}
else
{
echo '-<a href="website.php?link_id='. $row['link_id'].'" target="_blank" title="'. $row['link_naam'].'">'.$row['link_naam'].'</a><br>';
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
de,
velden,
die,
jij,
gebruikt,
CASE datum
WHEN DATEDIFF(datum,NOW()) < 7
THEN 'true'
ELSE 'false'
END CASE AS nieuw
FROM tabel
WHERE etc
de,
velden,
die,
jij,
gebruikt,
CASE datum
WHEN DATEDIFF(datum,NOW()) < 7
THEN 'true'
ELSE 'false'
END CASE AS nieuw
FROM tabel
WHERE etc
Het zal alleen nog niet werken gok ik, want weet niet precies uit mijn hoofd hoe je die datum nu moet vergelijken. Maar heb nu geen tijd om uit te zoeken. Mocht het niet al gelukt zijn in die tussentijd, kijk ik later nog even voor de correcte syntax :)
Edit: Controleren gaat dan zo:
if($row['nieuw'] == 'true') { vette link } else { gewone link }
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
Edit: Jan ik neem aan dat jij wel juist syntax hebt? Komt me in ieder geval bekender voor :)
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
Jan Koehoorn schreef op 02.04.2007 11:51:
Dit is veel te moeilijk voor mij, ik weet niet hoe ik dit in mijn scriptgedeelte moet zetten.
Ik zie nu op de pagina ipv de linknamen het woord l.url staan.
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
28
29
30
31
32
33
34
35
36
37
38
39
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
28
29
30
31
32
33
34
35
36
37
38
39
<?php
//Laat de categorie naam zien boven in de tabel
$sql = "
SELECT c.cat_id, c.cat_naam, l.link_naam, l.url, l.link_id, l.toegevoegd, l.weeklater,
CASE
WHEN DATEDIFF(NOW(), l.toegevoegd) < 7 THEN CONCAT('<strong>', 'l.url', '</strong>')
ELSE 'l.url'
END
AS link
FROM winkel_categorie AS c, winkel_linken AS l
WHERE c.cat_id = " . $_GET['cat_id'] . "
AND c.cat_id = l.cat_id
ORDER BY l.link_naam ASC
";
$res = mysql_query($sql) or die ("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");
$teller = 0;
$list_completed = false;
echo '<table align="center"><tr>';
$kolommen = 3;
while ($row = mysql_fetch_assoc ($res)) {
if ($teller % 10 == 0) {
echo '<td valign="top">';
echo '<table width="170" align="left" cellspacing="2" cellpadding="0">';
echo '<tr>';
echo '<td colspan="2"><h3>'.$row['cat_naam'].'</h3></td>';
echo '</tr>';
echo '<tr>';
echo '<td class="tabelborder">';
}
echo '-<a href="website.php?link_id='. $row['link_id'].'" target="_blank" title="'. $row['link_naam'].'">'.$row['link'].'</a><br>';
?>
//Laat de categorie naam zien boven in de tabel
$sql = "
SELECT c.cat_id, c.cat_naam, l.link_naam, l.url, l.link_id, l.toegevoegd, l.weeklater,
CASE
WHEN DATEDIFF(NOW(), l.toegevoegd) < 7 THEN CONCAT('<strong>', 'l.url', '</strong>')
ELSE 'l.url'
END
AS link
FROM winkel_categorie AS c, winkel_linken AS l
WHERE c.cat_id = " . $_GET['cat_id'] . "
AND c.cat_id = l.cat_id
ORDER BY l.link_naam ASC
";
$res = mysql_query($sql) or die ("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");
$teller = 0;
$list_completed = false;
echo '<table align="center"><tr>';
$kolommen = 3;
while ($row = mysql_fetch_assoc ($res)) {
if ($teller % 10 == 0) {
echo '<td valign="top">';
echo '<table width="170" align="left" cellspacing="2" cellpadding="0">';
echo '<tr>';
echo '<td colspan="2"><h3>'.$row['cat_naam'].'</h3></td>';
echo '</tr>';
echo '<tr>';
echo '<td class="tabelborder">';
}
echo '-<a href="website.php?link_id='. $row['link_id'].'" target="_blank" title="'. $row['link_naam'].'">'.$row['link'].'</a><br>';
?>
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
28
29
30
31
32
33
34
35
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
28
29
30
31
32
33
34
35
<?php
//Laat de categorie naam zien boven in de tabel
$sql = "
SELECT c.cat_id, c.cat_naam, l.link_naam, l.url, l.link_id, l.toegevoegd, l.weeklater,
CASE
WHEN DATEDIFF(NOW(), l.toegevoegd) < 7 THEN CONCAT('<strong>', l.url, '</strong>')
ELSE l.url
END
AS link
FROM winkel_categorie AS c, winkel_linken AS l
WHERE c.cat_id = " . $_GET['cat_id'] . "
AND c.cat_id = l.cat_id
ORDER BY l.link_naam ASC
";
$res = mysql_query($sql) or die("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");
$teller = 0;
$list_completed = false;
echo '<table align="center"><tr>';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)) {
if ($teller % 10 == 0) {
echo '<td valign="top">';
echo '<table width="170" align="left" cellspacing="2" cellpadding="0">';
echo '<tr>';
echo '<td colspan="2"><h3>' . $row['cat_naam'] . '</h3></td>';
echo '</tr>';
echo '<tr>';
echo '<td class="tabelborder">';
}
echo '-<a href="website.php?link_id=' . $row['link_id'] . '" target="_blank" title="' . $row['link_naam'] . '">' . $row['link'] . '</a><br>';
?>
//Laat de categorie naam zien boven in de tabel
$sql = "
SELECT c.cat_id, c.cat_naam, l.link_naam, l.url, l.link_id, l.toegevoegd, l.weeklater,
CASE
WHEN DATEDIFF(NOW(), l.toegevoegd) < 7 THEN CONCAT('<strong>', l.url, '</strong>')
ELSE l.url
END
AS link
FROM winkel_categorie AS c, winkel_linken AS l
WHERE c.cat_id = " . $_GET['cat_id'] . "
AND c.cat_id = l.cat_id
ORDER BY l.link_naam ASC
";
$res = mysql_query($sql) or die("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");
$teller = 0;
$list_completed = false;
echo '<table align="center"><tr>';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)) {
if ($teller % 10 == 0) {
echo '<td valign="top">';
echo '<table width="170" align="left" cellspacing="2" cellpadding="0">';
echo '<tr>';
echo '<td colspan="2"><h3>' . $row['cat_naam'] . '</h3></td>';
echo '</tr>';
echo '<tr>';
echo '<td class="tabelborder">';
}
echo '-<a href="website.php?link_id=' . $row['link_id'] . '" target="_blank" title="' . $row['link_naam'] . '">' . $row['link'] . '</a><br>';
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Ik geloof dat jij overal wel een oplossing voor kunt bedenken.
Bedankt zo werkt hij precies zoals ik bedoel :)
where clause, if statement