Tabel automatisch invullen
Hallo,
ik ben zogezegt echt een noob met PHP.
Maar ik wil het volgende opzetten.
Dat als iemand op [button] drukt dat er in een tabel (kan ook kladblok bestand zijn) een waarde 10 hoger dan de vorige komt.
Heeft iemand tips hoe dat makkelijk gedaan kan worden?
ik ben zogezegt echt een noob met PHP.
Maar ik wil het volgende opzetten.
Dat als iemand op [button] drukt dat er in een tabel (kan ook kladblok bestand zijn) een waarde 10 hoger dan de vorige komt.
Heeft iemand tips hoe dat makkelijk gedaan kan worden?
Gewijzigd op 06/11/2019 17:56:35 door - Ariën -
Hoe wordt het nu opgeslagen? Of is er nog geen data? En waar dient het precies voor?
op dit moment is er nog geen data.
Het gaat om dat gebruikers een gesprek moeten gaan voeren en zich moeten aanmelden.
Als de gebruiker zich aanmeld kan hij automatisch 10 minuten later ingedeeld worden in een tabel, dit zodat dit makelijk uit te lezen is van hoelaat tot hoelaat de gesprekken gaan duren.
Het gaat om dat gebruikers een gesprek moeten gaan voeren en zich moeten aanmelden.
Als de gebruiker zich aanmeld kan hij automatisch 10 minuten later ingedeeld worden in een tabel, dit zodat dit makelijk uit te lezen is van hoelaat tot hoelaat de gesprekken gaan duren.
Dat lijkt meer op een planningssysteem, dan enkel een simpel tellertje.
het zal in mijn ogen makkelijk kunnen door de naam van de gebruiker mee te nemen en dan vorige waarde +10 te doen. uiteraard vanaf 0 beginnen.
Het hoeft niet netjes met tijden te zijn, want het zal eenmalig gebruikt worden.
Het hoeft niet netjes met tijden te zijn, want het zal eenmalig gebruikt worden.
Ik zou dan toch wel aan een database denken. Stel dat de verbinding even wegvalt, dan ben je alles kwijt.
Als er een koppeling naar een database nodig is is het al te moeilijk voor mij.
Zou de andere optie wel kunnen die ik aanbood?
Zou de andere optie wel kunnen die ik aanbood?
Maak voor elke gebruiker een bestand aan waar je die teller in bewaart.
Lees bestand, verander waarde, bewaar bestand.
https://www.w3schools.com/php/php_file_open.asp
Lees bestand, verander waarde, bewaar bestand.
https://www.w3schools.com/php/php_file_open.asp
@Arien; Dit hoort toch niet in de koffiehoek?
@Stan; Wie doet het plannen? Als je altijd de laatste tijd + 10 minuten doet, maar dit al een half uur geleden is, valt dit dus in het verleden. Ik zou niet te moeilijk denken, zeker niet omdat het maar eenmalig is. Hierbij een beginnetje
@Stan; Wie doet het plannen? Als je altijd de laatste tijd + 10 minuten doet, maar dit al een half uur geleden is, valt dit dus in het verleden. Ik zou niet te moeilijk denken, zeker niet omdat het maar eenmalig is. Hierbij een beginnetje
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
$filename = 'plannen.json'; // Bestandsnaam
$arr = (file_exists($filename) ? json_decode(file_get_contents($filename),true) : array()); // Bestand ophalen mits deze bestaat
if(count($arr) > 0) {
array_multisort(array_column($arr, 'date'), SORT_DESC, $arr); // Array sorteren op datum. Eerste key is de nieuwste datum/tijd
}
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['username']) && trim($_POST['username']) != "") { // Controleren of het veld niet leeg is
if(isset($arr[0]['date']) && (new \DateTime($arr[0]['date']) > (new \DateTime())->modify('-10 minutes'))) { // Controleren of er een laatste tijd is en of deze niet in het verleden ligt.
$dt = (new \DateTime($arr[0]['date'])); // Laatst opgeslagen tijd
} else {
$dt = (new \DateTime()); // Tijd van nu
}
$newtime = $dt->modify('+10 minutes')->format("Y-m-d H:i:s"); // Tel er 10 minuten bij op.
array_unshift($arr, array('username'=>htmlentities($_POST['username']), 'date'=>$newtime));
file_put_contents($filename, json_encode($arr)); // Opslaan
header('Location: ' . $_SERVER['SCRIPT_NAME']); // Voorkom opnieuw posten door het vernieuwen van je browser
exit();
}
}
?>
<form method="POST">
<input type="text" name="username" placeholder="Typ je gebruikersnaam">
<button>Plannen</button>
</form>
<?php
if(count($arr) > 0) {
array_multisort(array_column($arr, 'date'), SORT_ASC, $arr); // De eerste volgende bovenaan.
foreach($arr as $key=>$val) {
echo $val['username'] . ' staat ingepland voor ' . (new \DateTime($val['date']))->format('d M H:i') . '<br>';
}
}
?>
$filename = 'plannen.json'; // Bestandsnaam
$arr = (file_exists($filename) ? json_decode(file_get_contents($filename),true) : array()); // Bestand ophalen mits deze bestaat
if(count($arr) > 0) {
array_multisort(array_column($arr, 'date'), SORT_DESC, $arr); // Array sorteren op datum. Eerste key is de nieuwste datum/tijd
}
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['username']) && trim($_POST['username']) != "") { // Controleren of het veld niet leeg is
if(isset($arr[0]['date']) && (new \DateTime($arr[0]['date']) > (new \DateTime())->modify('-10 minutes'))) { // Controleren of er een laatste tijd is en of deze niet in het verleden ligt.
$dt = (new \DateTime($arr[0]['date'])); // Laatst opgeslagen tijd
} else {
$dt = (new \DateTime()); // Tijd van nu
}
$newtime = $dt->modify('+10 minutes')->format("Y-m-d H:i:s"); // Tel er 10 minuten bij op.
array_unshift($arr, array('username'=>htmlentities($_POST['username']), 'date'=>$newtime));
file_put_contents($filename, json_encode($arr)); // Opslaan
header('Location: ' . $_SERVER['SCRIPT_NAME']); // Voorkom opnieuw posten door het vernieuwen van je browser
exit();
}
}
?>
<form method="POST">
<input type="text" name="username" placeholder="Typ je gebruikersnaam">
<button>Plannen</button>
</form>
<?php
if(count($arr) > 0) {
array_multisort(array_column($arr, 'date'), SORT_ASC, $arr); // De eerste volgende bovenaan.
foreach($arr as $key=>$val) {
echo $val['username'] . ' staat ingepland voor ' . (new \DateTime($val['date']))->format('d M H:i') . '<br>';
}
}
?>
Edit:
Controle toegevoegd. Er zit ALTIJD minimaal 10 minuten tussen het plannen en de afspraak
Gewijzigd op 06/11/2019 20:28:17 door Michael -
Michael - op 06/11/2019 17:34:53:
@Arien; Dit hoort toch niet in de koffiehoek?
Klopt inderdaad!
Dus daarom even een tikje naar het juiste forum.




