missFlo17
Messages postés8Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention 1 juin 2005
-
30 mai 2005 à 13:35
missFlo17
Messages postés8Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention 1 juin 2005
-
1 juin 2005 à 14:50
Bonjour à tous,
Je débute dans le domaine de la prog et j'ai un problème pour effacer les enregistrements de ma base de données. J'ai un formulaire qui me permet de rentrer des données qui sont enregistrées alors dans ma base de données "disponibilitésbb" dans la table "formulaire". Ensuite un script en php récupère ces données et j'aimerai que l'utilisateur puisse à cette étape là effacer les données depuis ce script php. En fait ici l'utilisateur coche une case et efface les données grâce à un bouton submit en fin de page mais ça marche pas, rien ne s'efface ni coté serveur, ni coté client.
voilà mon script :
<?php
//----------------------------------------------------------------
//
// Page d'affichage des messages
//
//----------------------------------------------------------------
$mysql_host = 'localhost'; // entrer votre hote ici
$mysql_user = 'root'; // entrer votre login
$mysql_password = ''; // entrer votre password
$mysql_base = 'disponibilitesbb'; // entrer le nom de votre base
//----------------------------------------------------------------
//on se connecte à la base de donnée
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");
//sélection de votre base de donnée
mysql_select_db($mysql_base,$db) or die ("erreur de connexion base");
//la requête de sélection des messages
$req = mysql_query("SELECT id,date,nom,prenom,lun_matin,lun_debutam,lun_finam,lun_soir,mar_matin,mar_debutam,mar_finam,mar_soir,mer_matin,mer_debutam,mer_finam,mer_soir,jeu_matin,jeu_debutam,jeu_finam,jeu_soir,ven_matin,ven_debutam,ven_finam,ven_soir,sam_matin,sam_debutam,sam_finam,sam_soir,dim_matin,dim_debutam,dim_finam,dim_soir,commentaires from formulaire Order by date Desc") or die ("erreur requête");
//on ressort le contenu en boucle, et on stock dans un tableau avec mysql_fetch_array
while( $contenu = mysql_fetch_array ($req))
{
//on affiche le résultat
?>
<html>
,
Matin
</form>
<?
//Voici le script qui vous permet d'effacer les éléments sélectionés
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password);
mysql_select_db($mysql_base,$db);
while (list($id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) = each($HTTP_POST_VARS))
while (list($id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) = @each($id))
$r = mysql_query("DELETE FROM formulaire where var='$id'") OR print("Erreur de connexion");
if($r==0) print("<Center>Erreur</center>");
else echo "
<center> Les éléments sélectionnés ont été supprimé </center>";
$nouveau = "SELECT id,date,nom,prenom,lun_matin,lun_debutam,lun_finam,lun_soir,mar_matin,mar_debutam,mar_finam,mar_soir,mer_matin,mer_debutam,mer_finam,mer_soir,jeu_matin,jeu_debutam,jeu_finam,jeu_soir,ven_matin,ven_debutam,ven_finam,ven_soir,sam_matin,sam_debutam,sam_finam,sam_soir,dim_matin,dim_debutam,dim_finam,dim_soir,commentaires from formulaire Order by date Desc";
mysql_query($nouveau);
//on referme la connexion
mysql_close();
//----------------- FIN DU SCRIPT --------------------------------
?>
</html>
missFlo17
Messages postés8Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention 1 juin 2005 30 mai 2005 à 14:30
non, ça change rien et en plus j'ai oublié de dire que j'avais ce message sur la page php qui nous montre les données que l'on a rentrées dans la base de données
Notice: Undefined variable: r in c:\program files\easyphp1-8\www\formulairebambinerie\renvoipage.php on line 114
missFlo17
Messages postés8Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention 1 juin 2005 31 mai 2005 à 10:27
par contre si je met $req à la place de $r , il n'indique pas d'erreur, c'est quoi le problème, je vois pas le rapport entre le changement de nom de variable. Quelle s'apelle $toto ou $truc, ça ne change rien normalement, non?
missFlo17
Messages postés8Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention 1 juin 2005 1 juin 2005 à 14:50
voilà j'ai fais quelques modifs, mais maintenant à chaque fois que je coche l'enregistrement à effacer depuis ma page php, seule le dernier enregistrement s'efface de ma base de donnée
Je reçois aussi le message Warning: Invalid argument supplied for foreach() in c:\program files\easyphp1-8\www\formulairebambinerie\renvoipage.php on line 113 (le foreach est à la fin de mon script).
voilà le script :
<html>
<?php
//----------------------------------------------------------------
//
// Page d'affichage des messages
//
//----------------------------------------------------------------
$mysql_host = 'localhost'; // entrer votre hote ici
$mysql_user = 'root'; // entrer votre login
$mysql_password = ''; // entrer votre password
$mysql_base = 'disponibilitesbb'; // entrer le nom de votre base
//----------------------------------------------------------------
//on se connecte à la base de donnée
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");
//sélection de votre base de donnée
mysql_select_db($mysql_base,$db) or die ("erreur de connexion base");
//la requête de sélection des messages
$req = mysql_query("SELECT id,date,nom,prenom,lun_matin,lun_debutam,lun_finam,lun_soir,mar_matin,mar_debutam,mar_finam,mar_soir,mer_matin,mer_debutam,mer_finam,mer_soir,jeu_matin,jeu_debutam,jeu_finam,jeu_soir,ven_matin,ven_debutam,ven_finam,ven_soir,sam_matin,sam_debutam,sam_finam,sam_soir,dim_matin,dim_debutam,dim_finam,dim_soir,commentaires from formulaire Order by date && id Desc") or die ("erreur requête");
//on ressort le contenu en boucle, et on stock dans un tableau avec mysql_fetch_array
while( $contenu = mysql_fetch_array ($req))
{
//on affiche le résultat
?>
<form action="renvoipage.php" method="post">
,
Matin
<?
//Voici le script qui vous permet d'effacer les éléments sélectionés
if (!empty($_POST['sup'])) {
foreach ($_POST['sup'] as $id)
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");
mysql_select_db($mysql_base,$db) or die ("erreur de connexion base");
$r "DELETE FROM formulaire where id'$id'";
mysql_query($r) OR die("Erreur requete");
$nouveau = "SELECT id,date,nom,prenom,lun_matin,lun_debutam,lun_finam,lun_soir,mar_matin,mar_debutam,mar_finam,mar_soir,mer_matin,mer_debutam,mer_finam,mer_soir,jeu_matin,jeu_debutam,jeu_finam,jeu_soir,ven_matin,ven_debutam,ven_finam,ven_soir,sam_matin,sam_debutam,sam_finam,sam_soir,dim_matin,dim_debutam,dim_finam,dim_soir,commentaires from formulaire Order by date Desc";
mysql_query($nouveau);
}
//on referme la connexion
mysql_close();
//----------------- FIN DU SCRIPT --------------------------------
?>
</form>
</html>