IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Supprimer ligne d'une table en php


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 24
    Points : 12
    Points
    12
    Par défaut Supprimer ligne d'une table en php
    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):

    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);
    ?>
    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
    <?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);
    ?>
    Merci de m'aider pour effacer la ligne que je souhaite et non constamment la dernière.

  2. #2
    Membre confirmé Avatar de agemis31
    Profil pro
    DBA
    Inscrit en
    Octobre 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DBA

    Informations forums :
    Inscription : Octobre 2007
    Messages : 399
    Points : 478
    Points
    478
    Par défaut
    Bonjour,

    Il y longtemps que je n'ai plus fait de php, mais il me semble que vous écrasez vos variables au fur et à mesure. Quand vous supprimez, vous récupérez celles de la dernière ligne.
    En tout cas, ce n'est pas un problème SQL Serveur mais php, vous devriez poster dans le forum php. Méfiez vous quand même des problèmes d'injection SQL.

    @+

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Ok merci j'ai posté ce message dans la rubrique PHP !

Discussions similaires

  1. supprimer lignes d'une table
    Par sat83 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/10/2007, 12h19
  2. Supprimer la derniere ligne d'une table
    Par adelineh dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/04/2007, 10h11
  3. [VBA] Supprimer des lignes dans une table
    Par shadockgreg dans le forum Access
    Réponses: 6
    Dernier message: 22/11/2006, 09h58
  4. Réponses: 2
    Dernier message: 26/09/2006, 09h08
  5. [C#]supprimer une ligne dans une table
    Par elitol dans le forum Windows Forms
    Réponses: 6
    Dernier message: 27/06/2006, 15h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo