SELECT na submit haalt row niet weg na UPDATE.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Advanced Mendix Developer Order Management Systeme

Advanced Mendix Developer Order Management Systemen (NL) Den Haag HBO/WO IT Professional "Als Advanced Mendix Developer impact maken op de groeiende e-commerce markt? Je doet dit bij PostNL door met je DevOps team onze Mendix applicaties verder te ontwikkelen, waarbij je complexe logistieke business processen vertaalt naar applicaties die ons primaire proces ondersteunen". Wat ga je doen? PostNL wordt een postal tech company We nemen de ontwikkeling van onze IT applicaties in eigen hand door onze eigen software-ontwikkel-capability op te zetten. Als Advanced Mendix Developer ben je onderdeel van een multidisciplinair, agile werkend Business-IT-team. Samen met dit team bouw je onze logistieke IT-applicaties verder

Bekijk vacature »

Advanced Mendix Developer Order Management Systeme

Advanced Mendix Developer Order Management Systemen (NL) Den Haag HBO/WO IT Professional "Als Advanced Mendix Developer impact maken op de groeiende e-commerce markt? Je doet dit bij PostNL door met je DevOps team onze Mendix applicaties verder te ontwikkelen, waarbij je complexe logistieke business processen vertaalt naar applicaties die ons primaire proces ondersteunen". Wat ga je doen? PostNL wordt een postal tech company We nemen de ontwikkeling van onze IT applicaties in eigen hand door onze eigen software-ontwikkel-capability op te zetten. Als Advanced Mendix Developer ben je onderdeel van een multidisciplinair, agile werkend Business-IT-team. Samen met dit team bouw je onze logistieke IT-applicaties verder

Bekijk vacature »

Richard Hansma

Richard Hansma

20/10/2013 11:54:22
Quote Anchor link
Hey PHP-ers,

Ik zit weer eens met een probleem. Ik ben bezig met een soort van 'gevangenis', waarin je mensen ook kunt uitbreken. Dit werkt prima, alleen wanneer ik iemand uitbreek en het lukt, blijft de persoon in kwestie wel staan in de lijst met 'gevangenen'... Ik heb het al proberen op te lossen door de SELECT na de submit te plaatsen, maar dat werkt ook niet helemaal goed.

Ik heb een interval van bijvoorbeeld 2 minuten en die voeg ik toe op de tijd hoe laat diegene de 'gevangenis' in moest. Nu wil ik d.m.v. een UPDATE de tijd naar 'NOW()' updaten, zodat diegene uit de 'gevangenis' gaat.

Als ik vervolgens de geüpdatete tijd selecteer, laat hij de goede tijd zien, zonder een pagina refresh. Maar, zodra ik alleen de rows wil selecteren die daadwerkelijk in de 'gevangenis' zitten, staat die er gewoon bij...

Ik hoop hierbij voldoende informatie gegeven te hebben, hieronder het stukje relevante code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<form method="post" action="">
<?php
include("../loginsystem/connect.php");

if($_SERVER['REQUEST_METHOD'] == 'POST') {
    $sql =
    'UPDATE times
    SET last_jail = NOW()
    WHERE user_id="'
.$_POST['jail'].'"
    '
;
    $query = mysql_query($sql);
}
  
$sql =
"SELECT username, last_jail, user_id
FROM times
WHERE times.last_jail >= NOW()
"
;
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query)) {
    echo $row['username'].' ';    
    echo $row['last_jail'];
    echo '<input type="radio" name="jail" value="'.$row['user_id'].'" checked><br>';
}

?>

<input type="submit" value="breek uit" name="submit">

</form>
 
PHP hulp

PHP hulp

21/09/2021 19:53:30
 
Reshad F

Reshad F

20/10/2013 12:20:52
Quote Anchor link
Is het in je database wel goed?

Verder mis je behoorlijk wat foutafhandeling waardoor je niet weet of dingen gelukt zijn.
 
Richard Hansma

Richard Hansma

20/10/2013 12:27:08
Quote Anchor link
Ja, alles in de database staat goed, alleen de SELECT komt 'te vroeg' om een nog onbekende reden.

Klopt, de foutafhandeling heb ik buiten beschouwing gelaten, omdat het in dit geval niet noodzakelijk is, gezien het feit dat alles het 'doet', alleen niet snel genoeg...
 
- SanThe -

- SanThe -

20/10/2013 12:40:07
Quote Anchor link
Script is onbeveiligd, dus lek.

Maar je probleem.
Je UPDATE naar NOW() en een multimiliseconde later kijk je met SELECT of ie gelijk (of groter) is dan NOW(). Ik denk dat ie dan gelijk is. UPDATE gewoon naar NOW()-10 of zo.
 
Richard Hansma

Richard Hansma

20/10/2013 12:53:45
Quote Anchor link
Klopt, in m'n originele script heb ik ook wel beveiliging.

Ah, zo simpel, de SELECT komt dus echt te vroeg. Bedankt voor het meedenken, allebei.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/10/2013 14:32:30
Quote Anchor link
De select komt niet te vroeg, maar je vergelijking moet kleiner of gelijk aan (<=) zijn
Gewijzigd op 20/10/2013 15:52:32 door Ger van Steenderen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.