Suppression d'une ligne de BD(PHP/Mysql)
Résolu
toutaonline
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
toutaonline Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
toutaonline Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je sais pas si c'est le bon emplacement
bref, je suis en train de créer un petit site web et j'ai un problème quant à la supression de lignes d'un tableau
j'ai crée une page php contenant un tableau qui s'alimente dynamiquement à partir de la base de données
la première colonne contient des images jouant le rôle de liens de suppression de la ligne devant laquelle elles sont mises
je veux qu'on cliquant sur l'image, la ligne correspondante se supprime de la base
voila mes deux bout de code
clavier.php ( elle affiche tous les claviers contenue dans la table materiels)
<?php
$query = "SELECT * from materiel where typ='clavier'";
$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{
$idm = $row[0]; $typ = $row[1]; $marque = $row[2]; $etat = $row[3];$date_acq = $row[4]; $date_meo = $row[5]; $duree_grt = $row[6]; $id_frs = $row[7];
echo "<tr>\n
<td><a href=\"supress.php?id=\".$row[0].\"\"> <input type=\"image\" src=\"del.png\" width=\"30\" height=\"30\" alt=\"supprimer\" name=\"del_img\"></a></td>\n
<td>$idm</td>\n
<td>$typ</td>\n
<td>$marque</td>\n
<td>$etat</td>\n
<td>$date_acq</td>\n
<td>$date_meo</td>\n
<td>$duree_grt</td>\n
<td>$id_frs</td>\n
</tr>\n";
}
?>
supress.php (celle-ci doit se charger de la suppression)
<html>
<?php
$id = intval($_POST['id']);
mysql_query("DELETE FROM materiel WHERE id_m = '$id' ");
header("Location:clavier.php");
mysql_close();
?>
<body>
</body>
</html>
==> la page clavier.php se réaffiche mais rien n'est supprimé
merci de me clarifer l'erreur
je serais vraiment très reconnaissante .
--
je sais pas si c'est le bon emplacement
bref, je suis en train de créer un petit site web et j'ai un problème quant à la supression de lignes d'un tableau
j'ai crée une page php contenant un tableau qui s'alimente dynamiquement à partir de la base de données
la première colonne contient des images jouant le rôle de liens de suppression de la ligne devant laquelle elles sont mises
je veux qu'on cliquant sur l'image, la ligne correspondante se supprime de la base
voila mes deux bout de code
clavier.php ( elle affiche tous les claviers contenue dans la table materiels)
<?php
$query = "SELECT * from materiel where typ='clavier'";
$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{
$idm = $row[0]; $typ = $row[1]; $marque = $row[2]; $etat = $row[3];$date_acq = $row[4]; $date_meo = $row[5]; $duree_grt = $row[6]; $id_frs = $row[7];
echo "<tr>\n
<td><a href=\"supress.php?id=\".$row[0].\"\"> <input type=\"image\" src=\"del.png\" width=\"30\" height=\"30\" alt=\"supprimer\" name=\"del_img\"></a></td>\n
<td>$idm</td>\n
<td>$typ</td>\n
<td>$marque</td>\n
<td>$etat</td>\n
<td>$date_acq</td>\n
<td>$date_meo</td>\n
<td>$duree_grt</td>\n
<td>$id_frs</td>\n
</tr>\n";
}
?>
supress.php (celle-ci doit se charger de la suppression)
<html>
<?php
$id = intval($_POST['id']);
mysql_query("DELETE FROM materiel WHERE id_m = '$id' ");
header("Location:clavier.php");
mysql_close();
?>
<body>
</body>
</html>
==> la page clavier.php se réaffiche mais rien n'est supprimé
merci de me clarifer l'erreur
je serais vraiment très reconnaissante .
--
A voir également:
- Suppression d'une ligne de BD(PHP/Mysql)
- Forcer suppression fichier - Guide
- Partage de photos en ligne - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Aller à la ligne excel - Guide
4 réponses
Bonjour
Tu as une erreur ici :
la variable $_POST est définie quand tu envoies des variables grâce à un formulaire avec la méthode POST
Quand tu les passes par l'url avec un ?variable=valeur, c'est $_GET['variable'] qui est défini
Tu as une erreur ici :
$id = intval($_POST['id']);
la variable $_POST est définie quand tu envoies des variables grâce à un formulaire avec la méthode POST
Quand tu les passes par l'url avec un ?variable=valeur, c'est $_GET['variable'] qui est défini
Bonjour
T'as une erreur ici :
$id = intval($_POST['id']);
il faut mettre :
$id = intval($_GET['id']);
je suppose que tu te connectes à ta base de données avant d'exécuter les requêtes quand même...
T'as une erreur ici :
$id = intval($_POST['id']);
il faut mettre :
$id = intval($_GET['id']);
je suppose que tu te connectes à ta base de données avant d'exécuter les requêtes quand même...
oui bien sur je fais une connxion à la base avant
sinon comment je pourrais alimenter le tableau par des lignes de la base de données
mysql_close(); n'est mise qu'une seule fois après la tenative de suprresion c-a-d dans supress.php
j'ai essayé de modifer POST par GET mais toujours le même problème
sinon comment je pourrais alimenter le tableau par des lignes de la base de données
mysql_close(); n'est mise qu'une seule fois après la tenative de suprresion c-a-d dans supress.php
j'ai essayé de modifer POST par GET mais toujours le même problème
je veux juste dire que mon problème est résolu suite à l'aide d'un ami
voila la solution finale et correcte pour celui qui en aura besoin
clavier.php
<?php
$query = "SELECT * from materiel where typ='clavier'";
$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{$idm = $row[0]; $typ = $row[1]; $marque = $row[2]; $etat = $row[3];$date_acq = $row[4]; $date_meo = $row[5]; $duree_grt = $row[6]; $id_frs = $row[7];
echo "<tr>\n
<td>
<form method=\"post\" action=\"supress.php\">
<input type=\"hidden\" name=\"id\" id=\"id\" value=\"".$row[0]."\">
<input type=\"image\" src=\"del.png\" width=\"30\" height=\"30\" alt=\"supprimer\" name=\"del_img\">
</form>
</td>\n\n
<td>$idm</td>\n
<td>$typ</td>\n
<td>$marque</td>\n
<td>$etat</td>\n
<td>$date_acq</td>\n
<td>$date_meo</td>\n
<td>$duree_grt</td>\n
<td>$id_frs</td>\n
</tr>\n";
}
?>
supress.php(//pas d'HTLML la dedans)
<?php
// connection a la BD
mysql_connect("localhost","root","") or die("erreur de connexion au serveur");
mysql_select_db("parcinfo") or die("erreur de connexion à la base de donnees");
// si id a ete poste :
if(isset($_POST['id']) && $_POST['id']!='')
{
$id = intval(mysql_real_escape_string(($_POST['id'])));
mysql_query("DELETE FROM materiel WHERE id_m = ".$id);
}
header('location:clavier.php');
// deconnection
mysql_close();
?>
merci d'avoir pri l'initiative de voir ce sujet
voila la solution finale et correcte pour celui qui en aura besoin
clavier.php
<?php
$query = "SELECT * from materiel where typ='clavier'";
$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{$idm = $row[0]; $typ = $row[1]; $marque = $row[2]; $etat = $row[3];$date_acq = $row[4]; $date_meo = $row[5]; $duree_grt = $row[6]; $id_frs = $row[7];
echo "<tr>\n
<td>
<form method=\"post\" action=\"supress.php\">
<input type=\"hidden\" name=\"id\" id=\"id\" value=\"".$row[0]."\">
<input type=\"image\" src=\"del.png\" width=\"30\" height=\"30\" alt=\"supprimer\" name=\"del_img\">
</form>
</td>\n\n
<td>$idm</td>\n
<td>$typ</td>\n
<td>$marque</td>\n
<td>$etat</td>\n
<td>$date_acq</td>\n
<td>$date_meo</td>\n
<td>$duree_grt</td>\n
<td>$id_frs</td>\n
</tr>\n";
}
?>
supress.php(//pas d'HTLML la dedans)
<?php
// connection a la BD
mysql_connect("localhost","root","") or die("erreur de connexion au serveur");
mysql_select_db("parcinfo") or die("erreur de connexion à la base de donnees");
// si id a ete poste :
if(isset($_POST['id']) && $_POST['id']!='')
{
$id = intval(mysql_real_escape_string(($_POST['id'])));
mysql_query("DELETE FROM materiel WHERE id_m = ".$id);
}
header('location:clavier.php');
// deconnection
mysql_close();
?>
merci d'avoir pri l'initiative de voir ce sujet