Php

hadjila20 Messages postés 52 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 5 novembre 2012 - 11 sept. 2009 à 19:43
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 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());



}

}


}
?>


 








merci à vous.

8 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
12 sept. 2009 à 11:12
Salut,

L'affichage des erreurs est il activé ? J'en doute, car déjà ça :
echo "<td bgcolor="#ffffff" >
 ".$data['ref_vol'].' 
</td>';

ça en génère une, et tu as plusieurs lignes dans ce cas.

Commence donc par traiter les erreurs de syntaxe, tu y verra sans doute plus clair après.

Cordialement,



Kohntark -
0
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
12 sept. 2009 à 13:38
Bonjour,

La syntaxe SQL est également bancale.
$sql=" DELETE FROM vol WHERE '".$data."'=ref_vol";

devrait être, pour conformance SQL-99:
$sql=" DELETE FROM vol WHERE ref_vol='$data'";
0
hadjila20 Messages postés 52 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 5 novembre 2012
12 sept. 2009 à 15:03
pour ceci


echo "<td bgcolor="#ffffff" >
 ".$data['ref_vol'].' 
</td>';


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??????????
0
hadjila20 Messages postés 52 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 5 novembre 2012
12 sept. 2009 à 15:09
pour ceci


echo "<td bgcolor="#ffffff" >
 ".$data['ref_vol'].' 
</td>';


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??????????
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
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 ?
0
hadjila20 Messages postés 52 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 5 novembre 2012
12 sept. 2009 à 18:32
j'ai fais un echo avant la rêquete mais pas aprés.
0
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
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.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
12 sept. 2009 à 18:50
bein y a pas de problème,il m'affiche la structure du tableau

Ben faut que tu m'expliques comment tu fais alors car désolé, mais ça :
echo "<td bgcolor="#ffffff" >
 ".$data['ref_vol'].' 
</td>';
ça ne peut pas s'afficher correctement.

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.

Kohntark -
0
Rejoignez-nous