Supprimer une réservation

[Résolu]
Signaler
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009
-
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009
-
je voudrais supprimer une réservation. mais cette réservation s'effectue sur le batiment, la salle, la date et l'heure. (ex: Batiment C, Salle 103, le 2006-03-08 à 8:00:00)
ces propriétés se trouvent dans deux tables:
labo(IdentLabo, Nbre_de_postes, Batiment, NumSalle)
reservation(#IdentProf, #IdentLabo, Date, Heure_debut, Date_réservation)

J'ai donc fait en deux parties, une avec une liste déroulante laquelle réservation il faut supprimer et l'autre partie la suppression. j'ai toujours comme résultat "erreur de la suppression". qui veut bien m'aider?
voilà le code:

suppreservation.php
<html>

SUPPRESSION D'UNE SALLE

L'affichage se fait par le batiment, numéro de la salle, la date de réservation puis l'heure. Ne vous trompez pas!

<?php
$user= "root";
$host="Localhost";
$password="";
$database="gestion_laboratoire";

$connexion = mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");
$db = mysql_select_db($database, $connexion) or die ("Sélection de la base de données impossible"); $rq "SELECT Batiment,NumSalle,Date_réservation, Heure_debut FROM labo, reservation WHERE reservation.IdentLabo labo.IdentLabo ORDER BY Batiment, NumSalle, Date_réservation";
$result = mysql_query($rq) or die ("Exécution de la requête impossible");

//création d'un formulaire contenant une liste de sélection
echo "<form action='suppreservation2.php' method='post'>
<select name='Batiment_Salle_Date_réservation_Heure_debut'>\n";

while ($ligne = mysql_fetch_array($result))
{
$valeur=$ligne['Batiment'].'/'.$ligne['NumSalle'].'/'.$ligne['Date_réservation'].'/'.$ligne['Heure_debut'];
echo "<option value='".$valeur."'>".$valeur."</option>\n";
}
echo "</select>\n";
echo "</form>\n";
?>

Attention: votre choix sera radical. Vous ne pourrez pas revenir sur votre décision.

</html>
----------------------------------------------------------------------------------------------------------------------------------------------------
suppreservation2.php

<html>

<?php
//Connexion au serveur
if(!$conn = mysql_connect("Localhost","root","")) { echo ("Prob connexion au serveur"); exit();}
//Connexion a la base de données
$db= mysql_select_db("gestion_laboratoire");
if(!$db) { echo ("Problème de connexion à la base"); exit(); }

$var=explode('/',$_POST['Batiment_Salle_Date_réservation_Heure_debut']);
$batiment=$var[0];
$salle=$var[1];
$Dateréservation=$var[2];
$Heuredebut=$var[3];
$req="delete from reservation, labo where reservation.IdentLabo = labo.IdentLabo and Batiment='$batiment' and NumSalle='$salle' and Date_réservation='$Dateréservation' and Heure_debut='$Heuredebut' ORDER BY Batiment and Batiment='$batiment' and NumSalle='$salle' and Date_réservation='$Dateréservation' and Heure_debut='$Heuredebut'";
$result=mysql_query($req, $conn);
//Recupération des résultats pour la suppression
if($result==1)
echo "suppression réussi";
else
echo "echec de la suppression";
echo "

";
//Déconnexion de la base
mysql_close($conn);
?>
<form>

</form>

</html>

merci de m'aider.

22 réponses

Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

j'ai fait quelques modifiacations car en faite il comprenait pas ce qui fallait supprimer finalement (La salle ou la réservation?)

voila ce que j'ai donc fait dans suppreservation2.php

<html>

<?php
//Connexion au serveur
if(!$conn= mysql_connect("Localhost","root","")) { echo ("Prob connexion au serveur"); exit();}
//Connexion a la base de données
$db= mysql_select_db("gestion_laboratoire");
if(!$db) { echo ("Problème de connexion à la base"); exit(); }

$var=explode('/',$_POST['Batiment_Salle_Date_réservation_Heure_debut']);
$batiment=$var[0];
$salle=$var[1];
$Dateréservation=$var[2];
$Heuredebut=$var[3];
$req="delete from reservation where Date_réservation='$Dateréservation' and Heure_debut='$Heuredebut'";
$result=mysql_query($req, $conn);
//Recupération des résultats pour la suppression
if($result==1)
echo "suppression réussi";
else
echo "echec de la suppression";
echo "

";
//Déconnexion de la base
mysql_close($conn);
?>
<form>

</form>

</html>

Dans les tables (moi j'utilises easy php 1.8), il faut bien vérifier les relations au cas où dans la table labo et reservation.
Sinon pas d'affichage meme si l'inscription est faite au niveau de la réservation
salle inconnu au registre, pas d'affichage
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
$result= mysql_query($req, $conn);
$nb=mysql_num_rows($result);
//Recupération des résultats pour la suppression
if($nb ==1)
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
d'autre part le order by dans un delete n'est pas indispensable...
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

ta formule ne marche pas!
voici le message
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in d:\program files\easyphp1-8\www\site internet\reservation\suppreservation2.php on line 17

echec de la suppression
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
$req="delete from reservation, labo where reservation.IdentLabo = labo.IdentLabo and Batiment='$batiment' and NumSalle='$salle' and Date_réservation='$Dateréservation' and Heure_debut='$Heuredebut'";

je doute un peu de la requete
mais elle ne pouvait pas marcher comme tu l'avais ecrite , anyway
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
ta requete est fausse, pas ma formule
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

maintenant y a de nouvelles erreurs

Notice: Undefined variable: Dateréservation in d:\program files\easyphp1-8\www\site internet\reservation\suppreservation2.php on line 15



Notice: Undefined variable: Heuredebut in d:\program files\easyphp1-8\www\site internet\reservation\suppreservation2.php on line 15



Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in d:\program files\easyphp1-8\www\site internet\reservation\suppreservation2.php on line 17

echec de la suppression
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

est ce que l'erreur vient pas de la première page avec la requete:
$rq " SELECT Batiment, NumSalle, Date_réservation, Heure_debut <gras>FROM labo, reservation WHERE reservation.IdentLabo </gras> labo.IdentLabo ORDER BY Batiment, NumSalle, Date_réservation, Heure_debut";

j'ai un doute????
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

je rame...
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
bon renvoie tout le code alors !
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
$rq = "SELECT Batiment,NumSalle,Date_réservation,
Heure_debut FROM labo, reservation WHERE reservation.IdentLabo =
labo.IdentLabo ORDER BY Batiment, NumSalle, Date_réservation";



est ce que ta liste déroulante est bien remplie ?
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

ben je comprends pas pkoi il marque

Notice: Undefined variable: Dateréservation in d:\program files\easyphp1-8\www\site internet\reservation\suppreservation2.php on line 15

alors que je déclare bien dans la première page:
$rq "SELECT Batiment, NumSalle, Date_réservation, Heure_debut FROM labo, reservation WHERE reservation.IdentLabo labo.IdentLabo ORDER BY Batiment, NumSalle, Date_réservation, Heure_debut";
$result = mysql_query($rq) or die ("Exécution de la requête impossible");

//création d'un formulaire contenant une liste de sélection
echo "<form action='suppreservation2.php' method='post'>
<select name='Batiment_Salle_Date_réservation_Heure_debut'>\n";

while ($ligne = mysql_fetch_array($result))
{
$valeur=$ligne['Batiment'].'/'.$ligne['NumSalle'].'/'.$ligne['Date_réservation'].'/'.$ligne['Heure_debut'];
echo "<option value='".$valeur."'>".$valeur."</option>\n";
}
echo "</select>\n";
echo "</form>\n";
?>
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

ma liste déroulante m'affiche ça sur la première page

c/112/2006-03-10/15:00:00
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
c'est tout ce qu'il ya dedans ??

c'est ce que tu veux ??
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

je veux qui me supprime toute la ligne de réservation du aux 4 critères
2 dans la table labo
2 dans la table reservation
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

est ce que une autre méthode existe? si oui, laquelle?
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

je veux qui me supprime toute la ligne dans la table réservation du aux 4 critères
2 dans la table labo
2 dans la table reservation
car il se peut qu'il y est plusieurs salles prisent à 15:00:00 le meme jour dans le batiment c (par exemple)
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

Notice: Undefined variable: Dateréservation in d:\program files\easyphp1-8\www\site internet\reservation\suppreservation2.php on line 15



Notice: Undefined variable: Heuredebut in d:\program files\easyphp1-8\www\site internet\reservation\suppreservation2.php on line 15

echec de la suppression

Je ne comprends pas!!!

j'ai bien ca dans ma première partie

suppreservation.php
<html>

SUPPRESSION D'UNE SALLE

L'affichage se fait par le batiment, numéro de la salle, la date de réservation puis l'heure. Ne vous trompez pas!

<?php
$user= "root";
$host="Localhost";
$password="";
$database="gestion_laboratoire";

$connexion = mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");
$db = mysql_select_db($database, $connexion) or die ("Sélection de la base de données impossible"); $rq "SELECT Batiment, NumSalle, Date_réservation, Heure_debut FROM labo, reservation WHERE reservation.IdentLabo labo.IdentLabo ORDER BY Batiment, NumSalle, Date_réservation, Heure_debut, Date_réservation";
$result = mysql_query($rq) or die ("Exécution de la requête impossible");

//création d'un formulaire contenant une liste de sélection
echo "<form action='suppreservation2.php' method='post'>
<select name='Batiment_Salle_Date_réservation_Heure_debut'>\n";

while ($ligne = mysql_fetch_array($result))
{
$valeur=$ligne['Batiment'].'/'.$ligne['NumSalle'].'/'.$ligne['Date_réservation'].'/'.$ligne['Heure_debut'];
echo "<option value='".$valeur."'>".$valeur."</option>\n";
}
echo "</select>\n";
echo "</form>\n";
?>

Attention: votre choix sera radical. Vous ne pourrez pas revenir sur votre décision.

</html>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
et ca dans ma deuxieme partie

suppreservation2.php
<html>

<?php
//Connexion au serveur
if(!$conn = mysql_connect("Localhost","root","")) { echo ("Prob connexion au serveur"); exit();}
//Connexion a la base de données
$db= mysql_select_db("gestion_laboratoire");
if(!$db) { echo ("Problème de connexion à la base"); exit(); }

$var=explode('/',$_POST['Batiment_Salle_Date_réservation_Heure_debut']);
$batiment=$var[0];
$salle=$var[1];
$dateréservation=$var[2];
$heuredebut=$var[3];
$req="delete from reservation, labo where reservation.IdentLabo = labo.IdentLabo and Batiment='.$batiment.' and NumSalle='.$salle.' and Date_réservation='.$Dateréservation.' and Heure_debut='.$Heuredebut.'";
$result=mysql_query($req, $conn);
//Recupération des résultats pour la suppression
if($result==1)
echo "suppression réussi";
else
echo "echec de la suppression";
echo "

";
//Déconnexion de la base
mysql_close($conn);
?>
<form>

</form>

</html>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
faites le test de votre coté car là, je vois pas pourquoi il veux bien pour batiment et salle mais pas pour date_réservation et heure_debut
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
$dateréservation=$var[2];
$heuredebut=$var[3];

$Dateréservation=$var[2];
$Heuredebut=$var[3];

majuscules !!
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009

résultat échec de la suppression