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.
http://img11.hostingpics.net/pics/269847img1.jpg
Si je clic sur la zone en rouge puis sur mon bouton "Delete" alors la ligne se supprime bien.
http://img11.hostingpics.net/pics/665833img3.jpg
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 tableauCode:
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:
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:
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