Suppression de données d'une base de données

Résolu
insaf -  
 insaf -
bonsoir,

j'ai un code qui affiche la liste des données insérées, et je veux que les admins de ma base de données puissent les supprimer. Voici mon code:

<?php
$cnx = mysql_connect ( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db ( "atos" ) ;
$result=mysql_query ("SELECT * FROM anomalie");
$fields = mysql_num_fields($result);
$rows = mysql_num_rows($result);
echo '<table width="628" border="1" align="center" cellspacing="0">';

echo "<TH>Code_Anomalie</TH><TH>Criticit&eacute</TH><TH>Environnement</TH><TH>ID_Ticket</TH><TH>Effacer</TH>";

for ( $i=0 ; $i < $rows ; $i++ ) {
echo "<TR>";

$ligne= mysql_fetch_row($result);

for ( $j=0 ; $j < $fields ; $j++ ) {

echo "<TD>".$ligne[$j]."</TD>";

}?>
<td><div align="center" class="Style5 Style11"><a href="supprimer_anomalie.php?id=<?php echo $rows['code_anomalie']?>"><a href="supprimer_anomalie.php?id=<?php echo $rows['code_anomalie']?>"><img align="middle" src="img/sup.jpg" width="33" border="0"/></a></div></td>
<?php echo("</TR>");
}

echo("</TABLE>");
mysql_close();
?>

et voici mon code supprimer_anomalie:

<?php

//connection au serveur:
$cnx = mysql_connect ( "localhost", "root", "" ) ;

$db = mysql_select_db ( "atos" ) ;

$id=$_GET['id'];
$sql=mysql_query("delete from anomalie where code_anomalie='$id'");
header("location: afficher_A.php");
?>

mon problème, c'est que les données ne se suppriment pas
SVP aidez moi, merci

3 réponses

  1. lili34500 Messages postés 187 Statut Membre 16
     
    voici un code qui marche (tester sur un site en se moment meme)

    mysql_connect ('localhost', 'root', '');
    mysql_select_db ('ta base');

    $sql = 'DELETE from livre_or WHERE id='.$_GET['id'].'';

    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

    mysql_close();
    0
  2. Melooo Messages postés 1476 Statut Membre 84
     
    Salut,
    Essayes d'afficher ta requête
    $sql=mysql_query("delete from anomalie where code_anomalie='$id'"); 
    echo $sql;
    

    tu dois bien sur supprimer le header (redirection) pour pouvoir voir le résultat.
    Récupères tu bien l'ID ? Si oui, essayes d'éxecuter cette requête dans MySQL
    0
  3. insaf
     
    merci :) j'ai réglé le problème en utilisant une autre façon d'affichage:

    <?php
    //connection au serveur:
    $cnx = mysql_connect ( "localhost", "root", "" ) ;

    //s?lection de la base de donn?es:
    $db = mysql_select_db ( "atos" ) ;
    //$result=mysql_query ("SELECT * FROM anomalie");
    $resultat=mysql_query("select * from anomalie ");
    ?>
    <table width="628" border="1" align="center" cellspacing="0">
    <tr bgcolor="#DDDDDD">
    <td width="129"><div align="center"><font color="teal"><strong>Code_Anomalie</strong></div></td>
    <td width="122"><div align="center"><font color="teal"><strong>Criticit&eacute</strong></div></td>
    <td width="122"><div align="center"><font color="teal"><strong>Environnement</strong></div></td>
    <td width="143"><div align="center"><font color="teal"><strong>ID_Ticket</strong></div></td>

    <td width="90"><div align="center"><font color="teal"><strong>Supprimer</strong></div></td>
    </tr>

    <?php while($row=mysql_fetch_assoc($resultat)) {?>
    <tr>
    <td><div align="center" class="Style5 Style11"><?php echo $row['code_anomalie'] ;?></div></td>
    <td><div align="center" class="Style5 Style11"><?php echo $row['criticité'] ;?></div></td>
    <td><div align="center" class="Style5 Style11"><?php echo $row['environnement'] ;?></div></td>
    <td><div align="center" class="Style5 Style11"><?php echo $row['ID_ticket'] ;?></div></td>

    <td><div align="center" class="Style5 Style11"><a href="supprimer_anomalie.php?id=<?php echo $row['code_anomalie']?>"><a href="supprimer_anomalie.php?id=<?php echo $row['code_anomalie']?>"><img align="middle" src="img/supprimer.png" width="33" height="27" border="0"/></a></div></td>
    </tr>
    <?php }
    mysql_close();
    ?>
    </table>
    </body>
    </html>

    celui ci marche très bien avec le même code de suppression d'avant

    <?php
    //connection au serveur:
    $cnx = mysql_connect ( "localhost", "root", "" ) ;
    $db = mysql_select_db ( "atos" ) ;
    $id=$_GET['id'];
    $sql=mysql_query("delete from anomalie where code_anomalie='$id'");
    header("location: afficher_A.php");
    ?>
    0