Bonjour à tous !
J'ai un nouveau problème qui me fait face !
Je viens de créer un site en php met permettant de lire les données d'une table SQL qui contient trois colonnes (elle est initialement vide).
Ce site est composé des trois colonnes qui s'affichent et juste a coté de chaque ligne il y a deux boutons 'modifier' et 'supprimer', en dessous de la table il y a un bouton 'nouveau' pour ajouter une ligne.
J'arrive à partir de mon site php à insérer des données dans ma table pour cela il n'y a pas de soucis. Le problèmes est lorsque je veux supprimer une ligne de ma table. J'ai placé un bouton de type submit et c'est avec la méthode POST que je récupère les informations.
Le problème est que quoique je fasse lorsque je clic sur n'importe quel bouton 'supprimer' il me supprime tout le temps la dernière ligne de la table et jamais celle en question.
voici mon code pour la page php (site.php):
Et voici le code pour la page de traitement de la suppression (modif.php) :
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 <?php // Connection au serveur MSSQL $server = '...\SQLEXPRESS'; $connect = mssql_connect($server, 'sa', 'pass'); if(!$connect) { die('Erreur de connexion à MSSQL'); } // Selection de la base de donnée $base = mssql_select_db('BaseDonnée', $connect); if (!$base) { die('Erreur de selection de base de données'); } // Requete SQL afin d'afficher les données selon l'indice $select = "SELECT * from TestGroup"; // Execution de la requete $requete = mssql_query($select); $test_vide = 0; // Variable permettant d'afficher un message si la base est vide // Affichage des données echo "<h2><i>Analyse de fichiers</i></h2>"; echo "<form action='modif.php' method='post' id='id_form' />"; while ($data = mssql_fetch_array($requete, MSSQL_NUM)) { echo "<label for='id_group'>Groupe : </label>"; echo "<input type='text' name='groupe' id='id_group' size='20' value='$data[0]' /> "; echo "<label for='id_ext'>Extension : </label>"; echo "<input type='text' name='extension' id='id_ext' size='20' value='$data[1]' /> "; echo "<label for='id_crit'>Critère : </label>"; echo "<input type='text' name='critere' id='id_crit' size='20' value='$data[2]' /> "; $test_vide = 1; // La table n'est pas vide echo "<input type='submit' name='modif' value='Modifier' />"; echo "<input type='submit' name='suppr' value='Supprimer' /><br />"; } // Fin while echo "<p class='boutons'>"; echo "<input type='submit' name='nouveau' value='Nouveau' />"; echo "</p>"; // Fermeture de la connexion mssql_close($connect); ?>
Merci de m'aider pour effacer la ligne que je souhaite et non constamment la dernière.
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
38
39
40
41
42
43
44 <?php // Connection au serveur MSSQL $server = '...\SQLEXPRESS'; $connect = mssql_connect($server, 'sa', 'pass'); if(!$connect) { die('Erreur de connexion à MSSQL'); } // Selection de la base de donnée $base = mssql_select_db('BaseDonnée', $connect); if (!$base) { die('Erreur de selection de base de données'); } /*-----------------------------------------------------------------------------*/ /* Cas de suppression */ /*-----------------------------------------------------------------------------*/ if(isset($_POST['suppr'])) { $groupe = $_POST['groupe']; $extension = $_POST['extension']; $critere = $_POST['critere']; // Suppression des éléments de la table $delete = "DELETE from TestGroup WHERE Groupe = '$groupe' AND Extension = '$extension' AND Critère = '$critere'"; $requete = mssql_query($delete); // Actualisation de la page site.php echo "<script language='JavaScript'> document.location.href='site.php'; </script>"; } // Fin isset 'suppr' // Fermeture de la connexion mssql_close($connect); ?>
Partager