Probleem met php online update
Ik heb een php-script gemaakt waarmee je online een update kan doen.
Ik heb een aantal kolommen hierin waarbij je dat kan doen. Dat werkt perfect. Echter als ik van begin_bedrag en eind_bedrag de waarde aftrek moet deze komen in kolom verschil. De online-update versie geeft niet de waarde zichtbaar in het kolom wel als ik een refresh doe van de pagina.
Wat doe ik verkeerd?
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
36
37
38
39
40
41
42
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
36
37
38
39
40
41
42
<?php
include_once("db_connect.php");
include("header.php");
?>
<title>Verdien model</title>
<script type="text/javascript" src="dist/jquery.tabledit.js"></script>
<div class="container test">
<h2>Verdien model</h2>
<table id="data_table" class="table table-striped">
<thead>
<tr>
<th>Id</th>
<th>Website</th>
<th>Naam website</th>
<th>Begin bedrag</th>
<th>Eind bedrag</th>
<th>Verschil bedrag</th>
</tr>
</thead>
<tbody>
<?php
// $sql_query = "SELECT id, url_website, naam_website, begin_bedrag, eind_bedrag, verschil_bedrag FROM sparen LIMIT 30";
$sql_query = "select id, url_website, naam_website, begin_bedrag, eind_bedrag,verschil_bedrag, (eind_bedrag-begin_bedrag) as 'verschil' from sparen";
$resultset = mysqli_query($conn, $sql_query) or die("database error:". mysqli_error($conn));
while( $developer = mysqli_fetch_assoc($resultset) ) {
?>
<tr id="<?php echo $developer ['id']; ?>">
<td><?php echo $developer ['id']; ?></td>
<td><?php echo $developer ['url_website']; ?></td>
<td><?php echo $developer ['naam_website']; ?></td>
<td><?php echo $developer ['begin_bedrag']; ?></td>
<td><?php echo $developer ['eind_bedrag']; ?></td>
<td><?php echo $developer ['verschil']; ?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<script type="text/javascript" src="custom_table_edit.js"></script>
<?php include('footer.php');?>
include_once("db_connect.php");
include("header.php");
?>
<title>Verdien model</title>
<script type="text/javascript" src="dist/jquery.tabledit.js"></script>
<div class="container test">
<h2>Verdien model</h2>
<table id="data_table" class="table table-striped">
<thead>
<tr>
<th>Id</th>
<th>Website</th>
<th>Naam website</th>
<th>Begin bedrag</th>
<th>Eind bedrag</th>
<th>Verschil bedrag</th>
</tr>
</thead>
<tbody>
<?php
// $sql_query = "SELECT id, url_website, naam_website, begin_bedrag, eind_bedrag, verschil_bedrag FROM sparen LIMIT 30";
$sql_query = "select id, url_website, naam_website, begin_bedrag, eind_bedrag,verschil_bedrag, (eind_bedrag-begin_bedrag) as 'verschil' from sparen";
$resultset = mysqli_query($conn, $sql_query) or die("database error:". mysqli_error($conn));
while( $developer = mysqli_fetch_assoc($resultset) ) {
?>
<tr id="<?php echo $developer ['id']; ?>">
<td><?php echo $developer ['id']; ?></td>
<td><?php echo $developer ['url_website']; ?></td>
<td><?php echo $developer ['naam_website']; ?></td>
<td><?php echo $developer ['begin_bedrag']; ?></td>
<td><?php echo $developer ['eind_bedrag']; ?></td>
<td><?php echo $developer ['verschil']; ?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<script type="text/javascript" src="custom_table_edit.js"></script>
<?php include('footer.php');?>
Gewijzigd op 22/01/2023 11:56:33 door - Ariën -
Gewijzigd op 22/01/2023 12:38:32 door - Ariën -
De oplossing die ik heb gevonden is: <meta http-equiv="refresh" content="10" > waarbij dus iedere 10 seconden de pagina ververst. De interval kan je langer zetten.
Maar het mooie zou zijn als de pagina pas ververst als er een update is geweest.
Toevoeging op 22/01/2023 16:28:06:
Ik denk dat het gebruik van AJAX veel beter is. Een refresh is niet altijd gewenst.
Je controleert met setInterval() om de xx seconden met een AJAX-request of er een update is. Zo ja, dan toon je die.
Ikzelf raad het JavaScript jQuery framework aan..
Gewijzigd op 22/01/2023 16:37:23 door - Ariën -