[PHP+Formulaire+MySQL]récupération de données [Résolu/Fermé]

Signaler
Messages postés
34
Date d'inscription
vendredi 11 novembre 2005
Statut
Membre
Dernière intervention
7 octobre 2006
-
Messages postés
162
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
7 février 2010
-
Bonjour

Voilà mon problème :

J'ai une liste déroulante dont le contenu est alimenté par une base de données. A coté il y a un bouton supprimer.

J'aimerai qu'en appuyant sur le bouton on suppprime le champs séléctionnée dans la liste déroulante.

Je me retrouve bloqué pour la requête SQL :

DELETE FROM SERVICE WHERE NomService = '?';

Voilà. A la place du ? je doit surement mettre une variable. Mais elle est définie où?

Et puis qu'et-ce qui peut me permettre de faire le liens entre la liste et l'action du bouton supprimer.

Merci d'avance

Mougeole

5 réponses

Messages postés
2027
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
A la place du ? je doit surement mettre une variable. Mais elle est définie où?

Et puis qu'et-ce qui peut me permettre de faire le liens entre la liste et l'action du bouton supprimer.


Alors, pour faire ton cahmps texte et ton boutton supprimer, t'as du faire un formulaire je suppose. si ce n'est pas le cas, bin il faut en faire un ! :D
Donc ta balise de formulaire se présente comme suit:
<form name="MonJoliFormulaire" action="supprime_element.php " method="POST">

Alors :
-name est le nom de ton formulaire.
-action donne le chemin de la page sur laquelle on arrive en validant le formulaire (on notera que dans ton cas le boutton de validation de formulaire est ton boutton supprimer que tu dois définir comme suit
<input type="submit" value="supprimer"/>

-method c'est la façon dont tu envoies tes données, POST c'est pour que ces dernières ne soient pas visible dans l'URL car sinon t'a GET comme autre valeur possible et la les données transitent via l'URL.

.Il faut bien entendu que t'ai donné un nom à ta liste :
<select name="maListe">...


puis dans ta page supprime_element.php sur laquelle tu arrives après validation du formulaire :
$requeteSQL="DELETE FROM SERVICE WHERE NomService = '".$_POST['maListe']."'; 


Voilà c'est donc grace $_POST que tu récupères la valeur du champs que t'as sélectionné..


Voilà c'est comme ça que ca se passe (chez McDo :P) hi hi
J'espère que ca va t'aider...
Bonne journée ;)
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60979 internautes nous ont dit merci ce mois-ci

Messages postés
34
Date d'inscription
vendredi 11 novembre 2005
Statut
Membre
Dernière intervention
7 octobre 2006
26
Merci pour ta réponse

Non seulement ça m'as beaucoup aidé, mais ne plus ça marche...presque!

Voilà je t'explique le truc :

1) Je déroule ma liste

2) Je séléctionne

3) J'appuie sur le bouton supprimer

4) Je constate que ça ne marche pas

5) Je vais sur une autre page

6) Je reviens sur ma page (Je pense qu'ici il a vidé le cache)

7) Je déroule ma liste

8) Joie!! (ou plutôt joie mitigé) je constate que le choix séléctionné à l'étape 2) à bien été supprimer.

Mais comme tu vois c'est un peu "pas très naturel" comme démarche pour supprimer un simple service.

Si jamais tu as une idée pour ce truc

Encore merci pour ton aide

Mougeole

P.S.: Quand j'appuie sur supprimer à l'étape 3) je vais voir sur phpMyAdmin et le choix à bien disparu. Donc a mon avis il doit vraissemblablement s'agire d'un "non vidage" de cache.
Messages postés
2027
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
et si tu fais un refresh sur ta page sur laquelle t'appuies sur suppprimer ca se met à jour non ?
Si oui je te conseil la chose suivante :
Quand tu est sur ta page supp_nanana.php (je sais plus c'est quoi son nom et j'ai la flème de scroller :P) et que tu rediriges vers ta page de sélection, tu n'as qu'a mettre en plus un variable dans l'URL genre :
URL="ma_page_de_selection.php?refresh=yes"

et tu mets sur ta page de visualisation (qui est faite en php je suppose vu que la liste se mets à jours)
if($_GET['refresh']=='yes')
{
    $onload="onLoad=\"javascript:window.location.reload();\"";
}
else
{
   $onload="";
}

et au moment ed la construction de ton squellette de page web :

echo"<body $onload >";

Au passage tu notera qu'ici on utilise $_GET pour récuperer la valeur car cette dernière est placé dans l'URL.
Pour ta culture perso, si le resgiter_global est a ON sur ton serveur tu peux directement récupéré ta valeur en l'appelant comme une variable ( ici on ferait if($resfresh == 'yes') ) Mais il est mieux tout de même dans la limite du possible de passer par $_POST et $_GET car au moins ton script marchera quelque soit la valeur du register_global de Apache.

Voilà, j'pense que ça devrait le faire... ;P
Bon Courage :)
Messages postés
34
Date d'inscription
vendredi 11 novembre 2005
Statut
Membre
Dernière intervention
7 octobre 2006
26
Salut

Merci beaucoup pour ton aide.

J'ai longtemps hésiter à utilliser ta solution parce que c'est du javascript. C'est bête quand même non.

Sur d'autre forum on m'a donné des tas de header PHP et HTML.

Qui ne marche pas. L'ensemble de la page se rafraichit mais pas la liste.

Bon.

Estiment que je n'avait plus rien à perdre j'ai tester ta solution.

J'ai copier ça juste après le <body> de ma page

<script>
if($_GET['refresh']=='yes')
{
    $onload="onLoad=\"javascript:window.location.reload();\"";
}
else
{
   $onload="";
}



echo"<body $onload >"; </script>



Et ça marche nickel

Encore merci

Il faudra à l'avenir que j'étudie plus spécifiquement les possibilité du Javascript.

Salut

Mougeole
Messages postés
2027
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200 >
Messages postés
34
Date d'inscription
vendredi 11 novembre 2005
Statut
Membre
Dernière intervention
7 octobre 2006

oki, mais attention tes balises <script> et </script> ne sont pas valable, ca marche car html est destructuré, mais elles ne servent pas, je pense que tu peux les enlever...Ca n'affectera pas le fonctionnement.
voilà, bonne journée. :)
bonjour à tous,
je vous explique mon problème.
J'ai crée une liste déroulante dynamique (dans laquelle il y a une liste de console de jeu) lorsque je valide mon choix il me genere la liste de jeux correspondante.
à la fin de chaque enregistrement (de chak jeu) j'ai un bouton supprimer mais le probleme c'est que je ne sait pas comment faire pour lié le bouton supprimer et le jeu correspondant

je traine souvent sur ce forum et j'ai bcp appris dessus
jspr ke vous pourrai m'aider d'avantage
merci ;)
Messages postés
162
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
7 février 2010
16
Un problème ====>>>> un post

!Poster un problème à la suite d'un autre!