par
Arkhall » 26 août 2015, 13:19
Hello, voici mon code.
$reponseA = $db->query("SELECT EQU_ID, EQU_NOM FROM equipes");
?>
<form method="POST">
<select name="equipes" id="equipes">
<?php
while($data = $reponseA->fetch()){
echo "<option value=" . $data['EQU_ID'] . "'>". $data['EQU_NOM']."</option>";
}
?>
</select>
<?php
if(isset($_POST['submit'])) {
//Préparation de la requête lorsqu'on permet à une valeur d'être entrée via PHP, donc l'insertion d'une variable.
//Au moment de la préparation, j'ai mis un marqueur "?" au niveau du WHERE. PDO me dira qu'il attend un paramètre.
$reponseB = $db->prepare("SELECT JOU_ID, JOU_PSEUDO FROM joueur LEFT JOIN integre ON JOU_ID = INT_JOU_ID LEFT JOIN equipes ON EQU_ID = INT_EQU_ID WHERE EQU_ID = ?");
$reponseB->execute(array($_POST['equipes']));
if (!empty($_POST['equipes'])) {
echo "<select name=\"joueur\">";
while ($data = $reponseB->fetch()) {
echo "<option value = " . $data['JOU_ID'] . ">" . $data['JOU_PSEUDO'] . "</option>";
}
}
}
?>
</select>
<input type="submit" name="submit" value="Rechercher les joueurs">
<input type="submit" name="delete" value="Supprimer">
<?php //Supression du joueur.
if(isset($_POST['delete']) && isset($_POST['joueur'])) {
$reponseC = $db->prepare("DELETE FROM joueur LEFT JOIN integre ON JOU_ID = INT_JOU_ID WHERE JOU_ID :=idJoueur");
$reponseC->bindValue('idJoueur',$_POST['joueur'],PDO::PARAM_INT); //Permet d'associer une valeur à un paramètre.,
if (!$reponseC->execute()); { //Si la suppression ne s'exécute pas, l'erreur suivante s'affiche.
echo 'ERREUR SUPPRESSION JOUEUR ID '.$_POST['joueur'];
}
}
?>
Le principe est le suivant, je sélectionne une équipe $reponseA qui va me les sortir dans une première comboBox. Après avoir cliqué sur le boutton "Rechercher les joueurs", il me recherche les joueurs de l'équipe que j'ai sélectionné grâce à une autre requête dont la variable s'appelle $réponseB. Jusque là tout va bien.
Problème :
La variable $réponseC qui est censé supprimer le joueur que j'ai envie de sélectionner dans la comboBox ne marche pas et me sort un Uncaught Exception et je sais jamais comment les interpréter. Apparemment c'est dans la ligne où il y a le !execute affichant le message d'erreur d'où vient le problème.
Hello, voici mon code.
[php]$reponseA = $db->query("SELECT EQU_ID, EQU_NOM FROM equipes");
?>
<form method="POST">
<select name="equipes" id="equipes">
<?php
while($data = $reponseA->fetch()){
echo "<option value=" . $data['EQU_ID'] . "'>". $data['EQU_NOM']."</option>";
}
?>
</select>
<?php
if(isset($_POST['submit'])) {
//Préparation de la requête lorsqu'on permet à une valeur d'être entrée via PHP, donc l'insertion d'une variable.
//Au moment de la préparation, j'ai mis un marqueur "?" au niveau du WHERE. PDO me dira qu'il attend un paramètre.
$reponseB = $db->prepare("SELECT JOU_ID, JOU_PSEUDO FROM joueur LEFT JOIN integre ON JOU_ID = INT_JOU_ID LEFT JOIN equipes ON EQU_ID = INT_EQU_ID WHERE EQU_ID = ?");
$reponseB->execute(array($_POST['equipes']));
if (!empty($_POST['equipes'])) {
echo "<select name=\"joueur\">";
while ($data = $reponseB->fetch()) {
echo "<option value = " . $data['JOU_ID'] . ">" . $data['JOU_PSEUDO'] . "</option>";
}
}
}
?>
</select>
<input type="submit" name="submit" value="Rechercher les joueurs">
<input type="submit" name="delete" value="Supprimer">
<?php //Supression du joueur.
if(isset($_POST['delete']) && isset($_POST['joueur'])) {
$reponseC = $db->prepare("DELETE FROM joueur LEFT JOIN integre ON JOU_ID = INT_JOU_ID WHERE JOU_ID :=idJoueur");
$reponseC->bindValue('idJoueur',$_POST['joueur'],PDO::PARAM_INT); //Permet d'associer une valeur à un paramètre.,
if (!$reponseC->execute()); { //Si la suppression ne s'exécute pas, l'erreur suivante s'affiche.
echo 'ERREUR SUPPRESSION JOUEUR ID '.$_POST['joueur'];
}
}
?>[/php]
Le principe est le suivant, je sélectionne une équipe $reponseA qui va me les sortir dans une première comboBox. Après avoir cliqué sur le boutton "Rechercher les joueurs", il me recherche les joueurs de l'équipe que j'ai sélectionné grâce à une autre requête dont la variable s'appelle $réponseB. Jusque là tout va bien.
[b]Problème :
[/b]
La variable $réponseC qui est censé supprimer le joueur que j'ai envie de sélectionner dans la comboBox ne marche pas et me sort un Uncaught Exception et je sais jamais comment les interpréter. Apparemment c'est dans la ligne où il y a le !execute affichant le message d'erreur d'où vient le problème.