ik heb een database, als ik die uitlees dan druk ik op uitschrijven en dan schrijft hij in de tabel 'uigeschreven' de datum NOW() maar nu is mijn vraag hoe kan ik ervoor zorgen dat ik maar 1x op die link kan klikken ? (ik werk met het UPDATE commando trouwens).
Bestaat er geen functie die gewoon indien de gegevens updated geworden zijn die lockt (maar die wel nog uitgelezen kunnen worden) of is dit mogelijk in PHP of evt met combinatie met java ?
Je zou een extra tabel updated kunnen maken met een timestamp erin, als er geen datum in staat dan kan je hem nog updaten, anders niet en zo kun je ook nog makkelijk achterhalen wanneer hij ge-edit is.
Tuurlijk kan dat. Bij de afhandeling van je formulier (dus als er op uitschrijven geklikt is) selecteer je eerst de betreffende rij uit de database. Als de kolom uitgeschreven al een waarde heeft geef je een foutmelding terug, zo niet dan voer je de UPDATE query uit.
kan je dat ook eens "verwoorden" ik bedoel in PHPtaal zetten, de rij kies ik doormidden van mijn id=$upid dus die rij kan ik kiezen DMV van select waarschijnlijk maar dan zou ik het begot niet meer weten ...
Het hangt er een beetje vanaf welke waarde er in je 'uigeschreven' kolom staat als iemand niet uitgeschreven is, maar ik ga uit van het meest logische: NULL.
<?php
$sql = "SELECT COUNT(*) FROM tabel WHERE id = ".$upid." AND uitgeschreven IS NOT NULL";
$result = mysql_query($sql);
$aantal = mysql_result($result, 0);
if($aantal == 0)
{
// Voer UPDATE query uit.
}
else
{
// Gebruiker is al eens uitgeschreven
}
?>
Zoiets zal het dan worden. Foutafhandeling zit hier nog niet in, dus dat zul je zelf toe moeten passen...