hadjila20
Messages postés52Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention 5 novembre 2012
-
11 sept. 2009 à 19:43
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
12 sept. 2009 à 18:50
bonsoir tout le monde ,voilà j'essaye de faire un site web et j'en suis à la partie administrateur,qui donc peu consulter,modifier ou supprimer dans la base de données.et mon problème à moi c'est dans la suppression je vous join mon code qui a un problème et dont je n'arrive pas à déchiffrer.moi ce que je veut c'est qu'il puisse supprimer dans n'importe quelle table l'enregistrement qu'il veut et donc pour mon code je n'arrive pas à supprimer dans la table passager par contre sa marche pour la table vol.voici donc le code:
Supprimer de la BDD
choisissez une table !
<form id="form1" name="form1" method="post" action="SUPRIM-VOL.PHP">
<label>
<select name="table" >
<option>Vol</option>
<option>Passager</option>
</select>
<?php
if (isset($_POST['table']))
{
$resultat=$_POST['table']; ?>
veuillez saisir l'élement à supprimer:
</form><?php
if ($resultat=="Vol")
{?>
Vol
Numéro vol,
Aéoroport de départ,
Aéoroport d'arrivée,
Date départ,
Heure départ,
Heure arrivée,
nombre de place,
type vol,
Classe vol,
Prix TTC,
Nom de la compagnie,
<?php
include(\"connexion.php\");
connectMaBase();
$sql=\"SELECT ref_vol,aeo_depart,aeo_arrive,date_depart_vol, type_vol, heure_arrive, heure_depart ,nb_place_vol,classe_vol,prix,nom_comp FROM vol WHERE
type_vol='1' OR type_vol='2'\";
$req= mysql_query($sql) or die ('Erreur sql'.$sql.'
'.mysql_error());
// on affiche le resultat
while ($data=mysql_fetch_array($req))
{
$date_depart=implode('-',array_reverse (explode('-',$data['date_depart_vol'])));
echo'----
';
echo \"".$data['ref_vol'].', ';
echo \"".$data['aeo_depart'].', ';
echo \"".$data['aeo_arrive'].', ';
echo \"".$date_depart.', ';
echo \"".$data['heure_depart'].', ';
echo \"".$data['heure_arrive'].', ';
echo \"".$data['nb_place_vol'].', ';
echo \"".$data['type_vol'].', ';
echo \"".$data['classe_vol'].', ';
echo \"".$data['prix'].', ';
echo \"".$data['nom_comp'].', ';
}
if(isset($_POST['numero']))
{
$data=$_POST['numero'];
echo $data;
$sql=\" DELETE FROM vol WHERE '\".$data.\"'=ref_vol\";
$req= mysql_query($sql) or die ('Erreur sql'.$sql.'
'.mysql_error());
}
?>
<?PHP
//Passager
}
elseif($resultat=="Passager")
{
?>
Passager
id_client,
civ,
nom,
prenom,
email,
tel,
<?php
include(\"connexion.php\");
connectMaBase();
$sql=\"SELECT id_client,civ,nom,prenom, email, tel FROM passager \";
$req= mysql_query($sql) or die ('Erreur sql'.$sql.'
'.mysql_error());
// on affiche le resultat
while ($data=mysql_fetch_array($req))
{
echo'----
';
echo \"".$data['id_client'].', ';
echo \"".$data['civ'].', ';
echo \"".$data['nom'].', ';
echo \"".$data['prenom'].', ';
echo \"".$data['email'].', ';
echo \"".$data['tel'].', ';
}
?>
<?php
if (isset($_POST['numero']))
{
$data=$_POST['numero'];
echo $data;
$sql=" DELETE FROM passager WHERE ('".$data."'=id_client)";
$req= mysql_query($sql) or die ('Erreur sql'.$sql.'
'.mysql_error());
}
}
}
?>
bein y a pas de problème,il m'affiche la structure du tableau et il insert les valeurs récupérer dans la base dans l'ordre ,c'est pas vraiment ça le problème.j'ai bien utilisé ce code dans une autre page et tout marche parfaitement.et dans cette page le problème c'est qu'il me supprime dans la table vol et pas dans passager. Et pour ceci:
$sql=" DELETE FROM vol WHERE '".$data."'=ref_vol";
devrait être, pour conformance SQL-99:
$sql=" DELETE FROM vol WHERE ref_vol='$data'";
b1 le premier code marche trés bien pour la table vol ,mais j'ai essayé de modifier dans celle de passager avec le code suggéré ,mais toujours pas de changement??????????
bein y a pas de problème,il m'affiche la structure du tableau et il insert les valeurs récupérer dans la base dans l'ordre ,c'est pas vraiment ça le problème.j'ai bien utilisé ce code dans une autre page et tout marche parfaitement.et dans cette page le problème c'est qu'il me supprime dans la table vol et pas dans passager. Et pour ceci:
$sql=" DELETE FROM vol WHERE '".$data."'=ref_vol";
devrait être, pour conformance SQL-99:
$sql=" DELETE FROM vol WHERE ref_vol='$data'";
b1 le premier code marche trés bien pour la table vol ,mais j'ai essayé de modifier dans celle de passager avec le code suggéré ,mais toujours pas de changement??????????
Vous n’avez pas trouvé la réponse que vous recherchez ?
nautilus99
Messages postés661Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention18 septembre 20091 12 sept. 2009 à 15:48
MySQL étant assez relax sur la syntaxe SQL, ta formulation peut fonctionner, mais le jour où tu décides d eporter ton code vers un autre système SQL, là ça risqu efort de coincer.
Est-ce qu etu as fait un echo de la requête pour savoir ce qui s'y passe ?
nautilus99
Messages postés661Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention18 septembre 20091 12 sept. 2009 à 18:39
avec ce écho, fais un copier-coller dans une console mysql ou via phpmyadmin..
il est possible que l'erreur provienne soit d'un enregistrement manquant ou que le paramètre de la clause where soit mauvais.
Dans ce cas là, à toi de remonter dans ton code pour trouver ce qui cloche.
Une erreur de ce type peut influer sur le reste du code, même plusieurs lignes après.
Même chose pour l'erreur signalée par Nautilus, je suis d'ailleurs bien étonné que ça puisse fonctionner.
Si après tu estimes qu'il n'y a pas de problème soit, mais à quoi bon venir poser des questions si c'est pour ne pas écouter les réponses et ne pas répondre à celles qui te sont posées ?
Bref, considère qu'il n'y a pas de pb parce que tu as l'impression que ça marche et ton code ne fonctionnera jamais. Ou alors prend en compte ce qui t'es dit et il finira vraisemblablement par fonctionner.