Recenste items weergeven

Status
Niet open voor verdere reacties.

simon911

Gebruiker
Lid geworden
18 feb 2012
Berichten
61
Hallo,

Ik heb op mijn website een projectensysteem dat ik een project kan plaatsen en een verhaaltje kan houden.
Als er iets veranderd is, kan ik een update plaatsen op dat project.
Ik geef op de homepage een rijtje weer met de recentste (geplaatste) projecten.
De nieuwste eerst.
De projecten en updates zitten in verschillende tabellen.
Maar ik wil ook een update kunnen plaatsen op een oud project, maar die staat dan niet bovenaan in het lijstje.
Dus ik wil de het rijtje weergeven geordend op de nieuwheid van een project én op de tijd wanneer er nog een update was geplaatst op het project.

Dus nu mijn vraag: hoe doe je dat?


Dus bijvoorbeeld:

project 10 mei
project 1 mei (update 9 mei)
project 8 mei
project 7 mei
project 2 april (update 6 mei)
project 5 mei

enzovoort...


Kunnen jullie mij helpen?
b.v.d!
 
Dan dien je in je tabel(len) een extra kolom op te nemen met de update datum + tijd.
Als de waarde uit die kolom niet gelijk is aan de invoerdatum, dan toon je de update tekst maar dat handel je aan de voorkant af.

Vervolgens bij het opvragen ORDER BY last_update.
 
Je post in het forumonderdeel over PHP
en je zegt dat je gegevens over projekten en updates in verschillende tabellen hebt zitten.

Mogen we er om die redenen vanuit gaan dat je een database hebt, waarvan je de inhoud op je website publiceert?
Zou je dan willen uitleggen welke database-tabellen je hebt?

Dan zou het een kwestie zijn van een goede query schrijven.

Een link naar je website is ook wel handig,
dan kunnen we zien om wat je precies presenteert en wat daarvan de structuur is.
 
@ThaDevil slim! Bedankt! Ga gelijk maken!

@tescman bedankt, maar het is al opgelost :thumb:
 
Hij werkt!

@ThaDevil Het is gelukt!

project aanmaken pagina:

PHP:
$timestamp = date('YmdHis');

$query = "INSERT INTO `projecten` (`id`, `titel`, `intro`, `content`, `datum`, `tijd`, `afbeelding`, `updated`)
VALUES ('', '".$titel."', '".$intro."', '".$content."', '".$datum."','".$tijd."','".$afbeelding."','".$timestamp."')";

en update plaatsen pagina:

PHP:
$timestamp = date('YmdHis');

mysql_query("UPDATE projecten SET updated='".$timestamp."'
WHERE titel='".$project."'");

en homepagina:

PHP:
$sql = "SELECT * FROM projecten ORDER BY updated DESC LIMIT 0,5";
 
Laatst bewerkt:
Zorg dat je datum kolommen van het type DATETIME of TIMESTAMP zijn, dan kun je er wat meer SQL-technisch mee :)

Het formaat dat je daar dan in moet voeren is 'Y-m-d H:i:s', of als je TIMESTAMP gebruikt kun je gewoon dit doen:
PHP:
mysql_query("UPDATE projecten SET updated= NOW() WHERE titel='".$project."'");
(Of het bij DATETIME ook werkt weet ik niet zeker)
 
dat is wel handig, ja!
maar als ik de type in phpmyadmin probeer te veranderen, krijg ik deze error (zie screenshot)untitled.PNG
 
Voor zover ik weet heeft TIMESTAMP geen lengte nodig, lijkt mij eerder een bug in phpMyAdmin.
 
mmm, zonder lengte doet hij het ook niet.
Maar het zal idd wel een bug zij, dat heb ik wel vaker met phpMyAdmin.
Maar dan houd ik het op de manier zonder TIMESTAMP.
Dan werkt hij in ieder geval :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan