[PHP+Formulaire+MySQL]récupération de données

Résolu/Fermé
Mougeole Messages postés 34 Date d'inscription vendredi 11 novembre 2005 Statut Membre Dernière intervention 7 octobre 2006 - 26 avril 2006 à 16:36
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 - 14 janv. 2008 à 11:50
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
A voir également:

5 réponses

Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
27 avril 2006 à 13:19
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
Mougeole Messages postés 34 Date d'inscription vendredi 11 novembre 2005 Statut Membre Dernière intervention 7 octobre 2006 26
27 avril 2006 à 14:46
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.
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
27 avril 2006 à 16:52
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 :)
0
Mougeole Messages postés 34 Date d'inscription vendredi 11 novembre 2005 Statut Membre Dernière intervention 7 octobre 2006 26
2 mai 2006 à 08:25
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
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200 > Mougeole Messages postés 34 Date d'inscription vendredi 11 novembre 2005 Statut Membre Dernière intervention 7 octobre 2006
2 mai 2006 à 09:30
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. :)
0
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 ;)
0

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

Posez votre question
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 15
14 janv. 2008 à 11:50
Un problème ====>>>> un post

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