Bonjour
Je viens vers vous car je gamberge sur un problème depuis 3 heures.
Au niveaux de ma datatable il n'y a pas de problèmes pour Ajouter ou éditer.
Le problème se situe au niveaux de la suppression.
Il y a un problème au niveaux du comportement de la table.
Exemple :
Je charge ma page et je clic sur une des case de la table. je rentre directement en édition.
Si je clic sur la zone en rouge puis sur mon bouton "Delete" alors la ligne se supprime bien.
Une fois la première ligne supprimer plus rien a faire, ce n'est plus l'id de la ligne mais la valeur de mon champs qui est envoyé a ma page de suppression.
Je dois recharger ma page et cliquer sur la "petite zone rouge" pour pouvoir en supprimer une autre.
Voici le code au cas ou cela peu vous aidez à m'orienté.
Tout d'abord mon script
Le contenu de ma page qui charge mon tableau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <script type="text/javascript"> $(document).ready(function() { $('#exemple').dataTable( { "bPaginate": false, "bStateSave": true } ); /* Init DataTables */ var oTable = $('#exemple').dataTable(); /* Apply the jEditable handlers to the table */ oTable.$('td').editable( './edit.php', { "callback": function( sValue, y ) { var aPos = oTable.fnGetPosition( this ); oTable.fnUpdate( sValue, aPos[0], aPos[1] ); window.location.reload(); }, "submitdata": function ( value, settings ) { return { "row_id": this.parentNode.getAttribute('id'), "column": oTable.fnGetPosition( this )[2] }; }, "height": "14px", "width": "100%" } ); $('#exemple').dataTable().makeEditable({ "sAddURL": "./add.php", "sDeleteURL": "./delete.php", "sAddNewRowFormId": "addme", } ); } ); </script>
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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
43
44
45
46
47
48
49
50
51
52
53 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8"/> </head> <body> <?php include_once 'decide-lang.php'; ?> <h3><?php echo TXT_ACT_TITRE; ?></h3> </br></br> <table id="exemple" width="100%"> <thead> <tr> <?php error_reporting(E_ALL); include_once("fonction.php"); $database="gestiondi"; $host="localhost"; $user="root"; $password=""; $table="activite"; mysql_connect($host,$user,$password); mysql_select_db($database) or die( "Unable to select database"); $query = "show columns from $table"; $result = mysql_query($query); while ( $row = mysql_fetch_assoc($result) ) { $fieldname = $row['Field']; if ( $fieldname == 'ACT_ID' ) continue; echo "<th>$fieldname</th>"; } ?> </tr> </thead> <tbody> <?php $query = "select * from $table"; $result = mysql_query($query); while ( $row = mysql_fetch_assoc($result) ) { $id = $row['ACT_ID']; echo "<tr id=".$id.">"; unset($row['ACT_ID']); foreach ($row as $key => $value) { echo "<td>$value</td>"; } echo "</tr>"; } ?> </tbody> </table> </body> </html>
Et enfin le contenu de ma page delete.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php $database="gestiondi"; $host="localhost"; $user="root"; $password=""; $table="activite"; mysql_connect($host,$user,$password); mysql_select_db($database) or die( "Unable to select database"); $id = $_POST['id']; $query = "delete from $table where ACT_ID =$id"; $result = mysql_query($query); if (!$result) { echo "Delete failed: $query"; } else { echo "ok"; } mysql_close(); ?>
Merci a vous
Partager