Ik heb een ideetje in me hoofd alleen weet ik niet hellemaal waar ik moet beginnen.
Ik heb een heel script waarmee je topics kan plaatsen en dan via een bepaalde link iets kan downloaden bijv een mp3'tje, Ook zit er een reactie systeem in zodat mensen kunnen reageren.
Nu wil ik iets doen waardoor je eerst een "reactie" moet geven voordat je de download link ziet.
Bijvoorbeeld
Link is: www.********.nl
Maar de gebruiker heeft nog geen reactie gegeven dan moet er komen te staan:
Link is: Verborgen laat eerst een reactie achter.
Als dan de gebruiker een reactie plaatst dan komt de link pas te voorschijn.
Je kan dit gemakkelijk met een session doen of een update in de db.
als de gebruiker een topic heeft gepost dat $_SESSION['show'] op 1 komt te staan. en dan bij de link if($_SESSION['show'] == 1){linkhier}else{post eerst...}
ik zal het anders aanpakken, je zal namelijk te maken krijgen met mensen die de link direct gaan delen. Je moet dus een apart systeem er naast hangen om de downloads beschikbaar te stellen.
Waarom kijk je niet of er al een record bestaat in de reacties tabel. Je hebt zijn gebruikers id en het topic id. Als er geen reactie in staat, toon de inhoud niet.
De link direct delen zal niet gebeuren. Heb er al een scriptje in staan dat bij elke link die erin staat dat het gewoon weggefilterd word. ( Zal ook niet gebeuren ivm dat het sneller is een reactie te zetten en meteen de link te krijgen dan copy/past. )
--
Stijn, Dit snap ik niet hellemaal ben nog niet super ver gevorderd in het database gebeuren.
Is het mogelijk omdat de user_id in de database gezet word dat het stukje kijk naar: if user_id? Dus dan kijkt het script welke user_id er in de tabel reacties staat als er dan bijvoorbeeld user_id 2 staat dat de user met id 2 de link kan zien?
Dus dat het geregeld word via user_id?
Mischien dat iemand mij hiermee op weg kan helpen.
Relaties tussen tabellen zijn nodig voor heel wat aspecten in de database wereld! Leer ze dan ook goed te gebruiken. De MyISAM engine is een slechte engine en raad ik compleet af. Eigenlijk is dit gewoon commentaar dat ik geef op je design. Beschouw dit dan ook als een goeie tip die ik je geef.
Nu ontopic. Je kan gebruik maken van stored functions in SQL. We kunnen een functie maken die kijkt of een gebruiker toegang heeft tot een bepaalde post.
create function kanPostBekijken(p_post_id integer , p_user_id integer) returns boolean
begin
declare aantal integer;
select count(*)
into aantal
from comments
where user_id = p_user_id and post_id = p_post_id;
if aantal = 0 then
return false;
end if;
return true;
end