Supprimer enregistrement d'une table ??
Résolu
baltazar852000
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
RackNiak Messages postés 166 Date d'inscription Statut Membre Dernière intervention -
RackNiak Messages postés 166 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un script pour supprimer à partir d'une liste ou je coche des cases des enregistrements d 'une table mais ca ne marche pas si qq'un à une idée !!
il me retourne une erreur:
Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP 2.0b1\www\banniere_03\1.php on line 52
voici le code :
<html>
<head>
</head>
<body>
<?php
require("base_banniere.php");
// connection à la DB
$link=mysql_connect($dsn['hostname'], $dsn['username'],$dsn['password']) or die ("erreur connexion");
$bd=mysql_select_db($dsn['dbname'],$link);
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$sql = "SELECT * FROM tab_banniere";
$result=mysql_query($sql,$link);
$total= mysql_num_rows($result);
if($total)
{
echo ('<form name="suppression" method="post">');
echo ('<table bgcolor="#FFFFFF">'."\n");
echo ('<tr>');
echo ('<td bgcolor="#669999"><b><u></u></b></td>');
echo ('<td bgcolor="#669999"><b><u>Nom_banniere</u></b></td>');
echo ('<td bgcolor="#669999"><b><u>Commentaire</u></b></td>');
echo ('<td bgcolor="#669999"><b><u>Banniere</u></b></td>');
echo ('</tr>'."\n");
while($row = mysql_fetch_array($result))
{
echo ('<tr>');
echo ('<td bgcolor="#CCCCCC"><input type="checkbox" name="delete[]" value="'.$row["id_banniere"].'"></td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Nom_banniere"].'</td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Commentaire"].'</td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Banniere"].'</td>');
echo ('</tr>'."\n");
}
echo ('</table>'."\n");
echo ('<input name="suppr" type="submit" value="supprimer">');
echo ('</form>'."\n");
}
else echo ('Pas d\'enregistrements dans cette table...');
mysql_free_result($result);
?>
<?php
foreach ($_POST["delete[]"] as $delete2)
{
mysql_query("DELETE FROM tab_banniere WHERE id_banniere = $delete2");
}
?>
</body>
</html>
J'ai un script pour supprimer à partir d'une liste ou je coche des cases des enregistrements d 'une table mais ca ne marche pas si qq'un à une idée !!
il me retourne une erreur:
Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP 2.0b1\www\banniere_03\1.php on line 52
voici le code :
<html>
<head>
</head>
<body>
<?php
require("base_banniere.php");
// connection à la DB
$link=mysql_connect($dsn['hostname'], $dsn['username'],$dsn['password']) or die ("erreur connexion");
$bd=mysql_select_db($dsn['dbname'],$link);
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$sql = "SELECT * FROM tab_banniere";
$result=mysql_query($sql,$link);
$total= mysql_num_rows($result);
if($total)
{
echo ('<form name="suppression" method="post">');
echo ('<table bgcolor="#FFFFFF">'."\n");
echo ('<tr>');
echo ('<td bgcolor="#669999"><b><u></u></b></td>');
echo ('<td bgcolor="#669999"><b><u>Nom_banniere</u></b></td>');
echo ('<td bgcolor="#669999"><b><u>Commentaire</u></b></td>');
echo ('<td bgcolor="#669999"><b><u>Banniere</u></b></td>');
echo ('</tr>'."\n");
while($row = mysql_fetch_array($result))
{
echo ('<tr>');
echo ('<td bgcolor="#CCCCCC"><input type="checkbox" name="delete[]" value="'.$row["id_banniere"].'"></td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Nom_banniere"].'</td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Commentaire"].'</td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Banniere"].'</td>');
echo ('</tr>'."\n");
}
echo ('</table>'."\n");
echo ('<input name="suppr" type="submit" value="supprimer">');
echo ('</form>'."\n");
}
else echo ('Pas d\'enregistrements dans cette table...');
mysql_free_result($result);
?>
<?php
foreach ($_POST["delete[]"] as $delete2)
{
mysql_query("DELETE FROM tab_banniere WHERE id_banniere = $delete2");
}
?>
</body>
</html>
A voir également:
- Supprimer enregistrement d'une table ??
- Supprimer rond bleu whatsapp - Guide
- Table ascii - Guide
- Supprimer une page word - Guide
- Table des matières word - Guide
- Comment supprimer une application préinstallée sur android - Guide
3 réponses
Bonjours,
moi quand je fais se jore de script, jutilise une autre methode:
<html>
<head>
</head>
<body>
<?php
require("base_banniere.php");
// connection à la DB
$link=mysql_connect($dsn['hostname'], $dsn['username'],$dsn['password']) or die ("erreur connexion");
$bd=mysql_select_db($dsn['dbname'],$link);
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$sql = "SELECT * FROM tab_banniere";
$result=mysql_query($sql,$link);
$total= mysql_num_rows($result);
if($total)
{
echo ('<form name="suppression" method="post">');
echo ('<table bgcolor="#FFFFFF">'."\n");
echo ('<tr>');
echo ('<td bgcolor="#669999"><b><u></u></b></td>');
echo ('<td bgcolor="#669999"><b><u>Nom_banniere</u></b></td>');
echo ('<td bgcolor="#669999"><b><u>Commentaire</u></b></td>;');
echo ('<td bgcolor="#669999"><b><u>Banniere</u></b></td>');
echo ('</tr>'."\n");
while($row = mysql_fetch_array($result))
{
if( $_POST['check_'.$row["id_banniere"]] == $row["id_banniere"] ) // si la case existe, donc Cocher :p tu la supprimer
{
mysql_query("DELETE FROM tab_banniere WHERE id_banniere = ".intval($_POST['check_'.$row["id_banniere"]]) ); // intVal sert a accepter que les chiffre, si c'est autre, alors sa affiche 0 ( AntiInjectionSql :p )
}
else // sinon tu affiche :p
{
echo ('<tr>');
echo ('<td bgcolor="#CCCCCC"><input type="checkbox" name="check_'.$row["id_banniere"].'" value="'.$row["id_banniere"].'"></td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Nom_banniere"].'</td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Commentaire"].'</td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Banniere"].'</td>');
echo ('</tr>'."\n");
}
}
echo ('</table>'."\n");
echo ('<input name="suppr" type="submit" value="supprimer">');
echo ('</form>'."\n");
}
else echo ('Pas d\'enregistrements dans cette table...');
mysql_free_result($result);
?>
</body>
</html>
Esperon que sa Fonctione :p
moi quand je fais se jore de script, jutilise une autre methode:
<html>
<head>
</head>
<body>
<?php
require("base_banniere.php");
// connection à la DB
$link=mysql_connect($dsn['hostname'], $dsn['username'],$dsn['password']) or die ("erreur connexion");
$bd=mysql_select_db($dsn['dbname'],$link);
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$sql = "SELECT * FROM tab_banniere";
$result=mysql_query($sql,$link);
$total= mysql_num_rows($result);
if($total)
{
echo ('<form name="suppression" method="post">');
echo ('<table bgcolor="#FFFFFF">'."\n");
echo ('<tr>');
echo ('<td bgcolor="#669999"><b><u></u></b></td>');
echo ('<td bgcolor="#669999"><b><u>Nom_banniere</u></b></td>');
echo ('<td bgcolor="#669999"><b><u>Commentaire</u></b></td>;');
echo ('<td bgcolor="#669999"><b><u>Banniere</u></b></td>');
echo ('</tr>'."\n");
while($row = mysql_fetch_array($result))
{
if( $_POST['check_'.$row["id_banniere"]] == $row["id_banniere"] ) // si la case existe, donc Cocher :p tu la supprimer
{
mysql_query("DELETE FROM tab_banniere WHERE id_banniere = ".intval($_POST['check_'.$row["id_banniere"]]) ); // intVal sert a accepter que les chiffre, si c'est autre, alors sa affiche 0 ( AntiInjectionSql :p )
}
else // sinon tu affiche :p
{
echo ('<tr>');
echo ('<td bgcolor="#CCCCCC"><input type="checkbox" name="check_'.$row["id_banniere"].'" value="'.$row["id_banniere"].'"></td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Nom_banniere"].'</td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Commentaire"].'</td>');
echo ('<td bgcolor="#CCCCCC">'.$row["Banniere"].'</td>');
echo ('</tr>'."\n");
}
}
echo ('</table>'."\n");
echo ('<input name="suppr" type="submit" value="supprimer">');
echo ('</form>'."\n");
}
else echo ('Pas d\'enregistrements dans cette table...');
mysql_free_result($result);
?>
</body>
</html>
Esperon que sa Fonctione :p