Suppression ligne BD
Résolu/Fermé
Ibilolz
Messages postés
130
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
26 juin 2023
-
Modifié par Ibilolz le 6/05/2014 à 11:39
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 6 mai 2014 à 15:58
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 6 mai 2014 à 15:58
A voir également:
- Suppression ligne BD
- Forcer suppression fichier - Guide
- Aller à la ligne excel - Guide
- Partager photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Apparaitre hors ligne instagram - Guide
13 réponses
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
6 mai 2014 à 11:26
6 mai 2014 à 11:26
Bonjour ? Bonsoir ? Salut ?
Il manque un 's' à ta requête SQL
Il manque un 's' à ta requête SQL
$sql = "DELETE FROM Salle WHERE num_salle = '$nums'";
Ibilolz
Messages postés
130
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
26 juin 2023
6 mai 2014 à 11:40
6 mai 2014 à 11:40
Merci bien, et désolé de ma précipitation du post... Seriez-vous comment je pourrais faire pour avoir un message qui bloque la suppression si une salle contient des ordinateurs (si dans emplacement elle est référencé)?
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
Modifié par sipherion le 6/05/2014 à 12:08
Modifié par sipherion le 6/05/2014 à 12:08
$sql = "SELECT COUNT(*) FROM inventaire WHERE num_salle = '$nums'";
$req = mysql_query($sql) or die(mysql_error()) ;
$resultat=mysql_fetch_row($req)
if ($resultat[0] != 0) {
echo "Il y a du matériel dans cette salle !";
return;
}
"Il vaut mieux savoir tout chercher que chercher à tout savoir."
"Internet est en fait l'acronyme de : Imprévisible Noctambule Transportant un Ensemble de Ragots et de Nouvelles Eminemment Triviales"
Ibilolz
Messages postés
130
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
26 juin 2023
6 mai 2014 à 12:30
6 mai 2014 à 12:30
Si je présente le code comme ça, la page ne marche plus :
<?php include 'fonctions.connect.php'; if ($_POST['nums']!='') $nums = $_POST['nums']; { $sql = "SELECT COUNT(*) FROM Salles WHERE num_salle = '$nums'"; $req = mysql_query($sql) or die(mysql_error()) ; $resultat=mysql_fetch_row($req) if ($resultat[0] != 0) { echo "Il y a du matériel dans cette salle !"; return; } $sql = "DELETE FROM Salle WHERE num_salle = '$nums'"; mysql_query($sql) or die(mysql_error()) ; } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
Modifié par sipherion le 6/05/2014 à 13:37
Modifié par sipherion le 6/05/2014 à 13:37
Qu'est ce qui ne "marche" plus ? Quelles sont tes erreurs ?
Ce code n'a aucun sens. Tu créé toi même des erreurs par rapport à ton code précédent :
Il faut que tu mettes les codes
Excuses moi de te poser cette question, mais est ce que tu comprends ce que tu fais ? parce là, tu fais des erreurs de quelqu'un qui vient juste de commencer à programmer, et si c'est le cas je te conseille fortement de suivre des cours de base en programmation PHP/SQL (via Openclassroom ou autres).
"Il vaut mieux savoir tout chercher que chercher à tout savoir."
"Internet est en fait l'acronyme de : Imprévisible Noctambule Transportant un Ensemble de Ragots et de Nouvelles Eminemment Triviales"
$resultat=mysql_fetch_row($req)il manque le ";"
if ($_POST['nums']!='')
$nums = $_POST['nums'];
{
Ce code n'a aucun sens. Tu créé toi même des erreurs par rapport à ton code précédent :
if ($_POST['nums']!='')
{
$nums = $_POST['nums'];
Il faut que tu mettes les codes
$sql = "DELETE FROM Salle WHERE num_salle = '$nums'";et
mysql_query($sql) or die(mysql_error()) ;dans un else qui suit ton accolade précédente, sinon ce code sera exécuté même si
if ($resultat[0] != 0)est faux (normalement non à cause du return, mais on sait jamais ; j'utilise rarement "return").
if ($resultat[0] != 0) {
echo "Il y a du matériel dans cette salle !";
} else {
$sql = "DELETE FROM Salle WHERE num_salle = '$nums'";
mysql_query($sql) or die(mysql_error()) ;
}
Excuses moi de te poser cette question, mais est ce que tu comprends ce que tu fais ? parce là, tu fais des erreurs de quelqu'un qui vient juste de commencer à programmer, et si c'est le cas je te conseille fortement de suivre des cours de base en programmation PHP/SQL (via Openclassroom ou autres).
"Il vaut mieux savoir tout chercher que chercher à tout savoir."
"Internet est en fait l'acronyme de : Imprévisible Noctambule Transportant un Ensemble de Ragots et de Nouvelles Eminemment Triviales"
Ibilolz
Messages postés
130
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
26 juin 2023
6 mai 2014 à 13:41
6 mai 2014 à 13:41
Oui je comprend, je commence à programmer et j'ai fini mes tutoriels et cours ^^, c'est vrai que là dessus j'ai écris n'importe quoi.
J'ai donc ce code php
Mais je peux toujours supprimer une salle qui contient des postes et avec la clé étrangères la ligne de la salle avec son poste part aussi de la table emplacement.
J'ai donc ce code php
<?php include 'fonctions.connect.php'; if ($_POST['nums']!='') { $nums = $_POST['nums']; $sql = "DELETE FROM Salle WHERE num_salle = '$nums'"; mysql_query($sql) or die(mysql_error()) ; } $sql = "SELECT COUNT(*) FROM Salle WHERE num_salle = '$nums'"; $req = mysql_query($sql) or die(mysql_error()) ; $resultat=mysql_fetch_row($req); if ($resultat[0] != 0) { echo "Il y a du matériel dans cette salle !"; return; } ?>
Mais je peux toujours supprimer une salle qui contient des postes et avec la clé étrangères la ligne de la salle avec son poste part aussi de la table emplacement.
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
6 mai 2014 à 13:46
6 mai 2014 à 13:46
OK, tu n'as pas vu que j'avais modifié plusieurs fois mes messages, c'est de ma faute.
Je vais te donner la solution, ça ira plus vite. Essayes ce code :
Je vais te donner la solution, ça ira plus vite. Essayes ce code :
<?php
include 'fonctions.connect.php';
if ($_POST['nums']!='') {
$nums = $_POST['nums'];
$sql = "SELECT COUNT(*) FROM inventaire WHERE num_salle = '$nums'";
$req = mysql_query($sql) or die(mysql_error()) ;
$resultat=mysql_fetch_row($req);
if ($resultat[0] == 0) {
$sql = "DELETE FROM Salle WHERE num_salle = '$nums'";
mysql_query($sql) or die(mysql_error());
echo "La salle $nums a bien été supprimée";
} else {
echo "Impossible de supprimer la salle $nums : il y a du matériel dans cette salle !";
}
}
?>
Ibilolz
Messages postés
130
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
26 juin 2023
6 mai 2014 à 13:59
6 mai 2014 à 13:59
Je te remercie, tout marche bien, j'ai changé inventaire par emplacement et par contre j'ai encore un petit soucis, je ne peux plus supprimer les salles remplies, je peux supprimer celles pas remplies mais dans les deux cas j'ai pas de messages. Les echo n'ont pas l'air de fonctionner
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
6 mai 2014 à 14:04
6 mai 2014 à 14:04
Je croyais qu'on ne devait pas pouvoir supprimer une salle qui avait du matériel à l'intérieur ? Et pourquoi la table "emplacement" ? C'est pas "inventaire" qui définit s'il y a du matériel dans les salles ?
Ibilolz
Messages postés
130
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
26 juin 2023
6 mai 2014 à 14:08
6 mai 2014 à 14:08
A la base c'est inventaire tu as raison, je ne sais plus pourquoi je l'ai renommé emplacement dans ma BD, à changer. Enfaite ce que j'ai voulu dire plus haut c'est que quand je supprime une salle (qui ne contient pas de matériel) je n'ai pas de message la salle ... à été supprimée. Et quand j'essaille de supprimer une salle qui contient du matériel, je clique et rien, il ne la supprime pas mais pas de messages non plus pour dire que c'est pas possible.
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
Modifié par sipherion le 6/05/2014 à 14:25
Modifié par sipherion le 6/05/2014 à 14:25
Ca serait mieux de faire ça dans une page HTML complète :
Complète les morceaux manquants, notamment au niveau du commentaire en HTML
"Il vaut mieux savoir tout chercher que chercher à tout savoir."
"Internet est en fait l'acronyme de : Imprévisible Noctambule Transportant un Ensemble de Ragots et de Nouvelles Eminemment Triviales"
<html>
<head>
</head>
<body>
<?php
include 'fonctions.connect.php';
if ($_POST['nums']!='') {
$nums = $_POST['nums'];
$sql = "SELECT COUNT(*) FROM inventaire WHERE num_salle = '$nums'";
$req = mysql_query($sql) or die(mysql_error()) ;
$resultat=mysql_fetch_row($req);
if ($resultat[0] == 0) {
$sql = "DELETE FROM Salle WHERE num_salle = '$nums'";
mysql_query($sql) or die(mysql_error());
echo "La salle $nums a bien été supprimée";
} else {
echo "Impossible de supprimer la salle $nums : il y a du matériel dans cette salle !";
}
} else {
?>
<FORM Method="POST" Action="">
Numéro de la salle à supprimer : <input type="text" name="nums" size=10 <br></br>
<br></br>
<input type="submit", name="submit" Value="Supprimer">
<!-- Puis tout le code HTML du formulaire -->
<?php
}
?>
</body>
</html>
Complète les morceaux manquants, notamment au niveau du commentaire en HTML
"Il vaut mieux savoir tout chercher que chercher à tout savoir."
"Internet est en fait l'acronyme de : Imprévisible Noctambule Transportant un Ensemble de Ragots et de Nouvelles Eminemment Triviales"
Ibilolz
Messages postés
130
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
26 juin 2023
Modifié par Ibilolz le 6/05/2014 à 14:27
Modifié par Ibilolz le 6/05/2014 à 14:27
Je comprends pas pourquoi tu as rajouté le sql2 et de quel formulaire tu parles
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
6 mai 2014 à 15:58
6 mai 2014 à 15:58
J'ai retiré les requêtes sql2, c'était un test chez moi.
<FORM Method="POST" Action="">C'est ça un formulaire. Il doit donc se terminer par la balise </FORM>