Si tu pouvais m'éclairer , ce serait gentil. Merci.
Si tu pouvais m'éclairer , ce serait gentil. Merci.
Bon, pour commencer, est-ce que le bout de code concernant ton switch focntionne ? Est-ce qu'il détermine bien qu'elle variable a été reçu (modifier, ajouter...)?
Si tu veux savoir si les echo fonctionnent lorsque j'appuis sur les différents submits et bien non ils ne marchent pas !
Je pense que l'erreur pourrait venir de là :
echo'<br /><form method="get" action="admincat2.php?action=Modifier||Supprimer&id='.$cat['id'].'">';
Tout a fait, je pense aussi que ça vienne de la .
Qu'attendez tu comme comportement lorsque tu déclares : action="admincat2.php?action=Modifier||Supprimer&id='.$cat['id'].'">'; ??
Je veux en fait que lorsque je clique sur l'un des 3 submits ==> ajouter, modifier ou supprimer que ça me dirige vers l'un des 3 cases de mon switch et effectue la requête correspondante.
Je ne sais pas si c'est comme ça qu'il faut procéder donc bon voilà, je sais pas trop comment faire.
J'ai supprimé cette partie &id='.$cat['id'].'
J'ai déja fait le même genre de chose mais je n'ai pas le code sous les yeux,
je te tiens au courant en début d'après midi.
Si tu as déjà fait une partie admin alors tu devrais pouvoir m'aider en effet. Merci beaucoup de ton aide !
Mais en fait je ne sais pas si c'est comme ça que je dois procéder pour une partie administration. Bref mais si tu comprends le but de ce que je veux pouvoir faire alors tu pourras sans doute m'aider!
Oui effectivement c'était dans le cadre d'une partie admin, et il n'y a que des solutions aux pb .
A cet aprèm
Ok merci beaucoup à cette aprem. Au plus tôt j'espère.
re
Alors j'ai pas eu le temps de retrouver mon script mais j'ai pu te faire un petit exemple qui fonctionne très bien et qui te permettra sans aucun doute d'avancer considérablement. Voici le code :
Tu as juste à lancé cette page et tu verras que tu peux choisi entre deux actions, et filtrer celle ci. Je l'ai avec un if mais tu peux très bien l'appliquer à un switch.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <html> <body> <form method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"> <input type="submit" name="modifier" value="modifier" /> <input type="submit" name="ajouter" value="ajouter" /> </form> <?php if(isset($_POST['modifier'])) { $action = $_POST['modifier']; } if(isset($_POST['ajouter'])) { $action = $_POST['ajouter']; } if(isset($action)) { echo "l'action".$action."a été choisi"; } ?> </body> </html>
Voila dis moi si cela correspond a ton besoin ?(bien sur à adapter).
action="<?php echo htmlentities($_SERVER['PHP_SELF']);
A quoi cela sert-il ?
Ca je sais a peu près le faire mais le problème là est de sélectionner la bonne catégorie avec le bon id, c'est le input type hidden qui permet sa ?
Cette action te permet justement de faire ce que tu n'arrivais pas, à savoir envoyer la valeur du bouton cliké dans la même page.
Si tu veux récupérer un id, selon le bouton cliké, pas besoin de champ hidden, dans le traitement du bouton cliké ( if....) si 'modifier' a été cliké alors mon id = 1, et tu fais ta requete à la suite.. JE vois pas ou est le pb ?
C'est bien ce que tu veux faire?
J'ai clairement modifié mon code. Regardez:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 <?php include("connection.php"); if(isset($_GET['action'])) { switch($_GET['action'] ) { case 'Supprimer': $suppr=mysql_db_query($db,"DELETE from cat nom_fr WHERE id=".$cat['id'].""); echo"case supprimer"; break; case 'Ajouter une catégorie': //$add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('$nom_fr')WHERE id='$id'" ); echo"case ajouter"; break; case 'Modifier': $nom_fr=$_POST['nom_fr']; echo'<form method="post" action="_self">'; echo'<input type="text" name="nom_fr" value="nom_fr" /></form>'; echo'<input type="submit" name="valider" value="valider" />'; echo"case modifier"; $modif=mysql_db_query($db,"UPDATE pages SET nom_fr='$nom_fr'" ); break; default: echo"Choisissez un des trois choix"; } } if(isset($_GET['nom_fr'])) { $nom_fr=$_GET['nom_fr']; } $r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC"); while($cat = mysql_fetch_assoc($r_cat)) { echo'<br /><br /><li>'.$cat['nom_fr'].'<br /><a href="admincat.php?action=Supprimer&id='.$cat['id'].'"> Supprimer</a>'; echo'<a href="admincat.php?action=Modifier&id='.$cat['id'].'"> Modifier</a>'; } echo'<br /><br /><a href="admincat.php?action=Ajouter une catégorie"> Ajouter</a>'; ?>
Pour le moment je veux essayer de modifier une catégorie. Lorsque je clique sur modifier pas de problème je rentre bien dans mon switch modifier ==> case modifier s'affiche. Dans le case modifier j'ai donc insérer un formulaire dans lequel on rentrerait le nouveau nom de la catégorie. Cependant lorsque je clique sur valider, rien ne se passe, je pense que cela vient soit de mon action du formulaire, soit simplement de la requête ou soit des deux je ne sais pas trop. Si vous voyez une erreur , merci de me le signaler. Merci à vous !
Effectivement il ya a des erreurs, déja pk fais tu echo ...html,
tu ferais mieux de fermer tes balises php pour écrire directement du html.
Et de plus, dans ton cas modifier, tu ferme le formulaire avant le input type submit... normal que cela ne fonctionne pas.
En effet le coup du form j'avais pas vu merci. Ca ne marche toujours pas donc j'en déduis maintenant que cela vient de ma requête !
J'ai modifié mon code qui semble à présent un peu correct !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <?php include("connection.php"); if(isset($_GET['action'])) { switch($_GET['action'] ) { case 'Supprimer': $suppr=mysql_db_query($db,"DELETE from cat nom_fr WHERE id=".$_POST['id'].""); break; case 'Ajouter ': $add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('.$_POST['nom_fr'].')WHERE id='.$_POST['id'].'" ); echo"case ajouter"; break; case 'Modifier': $mod = mysql_db_query($db,"UPDATE cat SET nom_fr=".$_POST['nom_fr']." WHERE id=".$_POST['id'].""); break; default: echo"Choisissez un des trois choix"; } } $r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC"); while($cat = mysql_fetch_assoc($r_cat)) { echo'<br /><br /><form method="post" action="admincat.php?action=Modifier"><input type="text" name="nom_fr" value="'.$cat['nom_fr'].'" />'; echo'<input type="submit" value="Modifier" />'; echo'<input type="hidden" name="id" value="'.$cat['id'].'" /></form>'; echo'<form method="post" action="admincat.php?action=Supprimer"><input type="submit" value="Supprimer" /><input type="hidden" name="id" value="'.$cat['id'].'" /></form>'; } echo'<form method="post" action="admincat.php?action=Ajouter"><input type="text" name="nom_fr" " /><input type="submit" value="Ajouter" /><input type="hidden" name="id" value="'.$cat['id'].'" /></form>';
Maintenant il ne me reste plus qu'à faire les bonnes requetes il me semble. Quand j'ai testé la requête "modifier" hier elle ne marchait pas pourtant elle me semble correcte. Ensuite j'aimerai avoir votre avis sur mes 2 autres requêtes et savoir comment, ou puis-je trouver le bout de script qui permettrait de faire valider ou non ma suppression de catégorie.
PS: Je ne suis pas chez moi je ne peux pas tester mon code !
Ma requête modifier marche. J'ai essayé de tester la requête supprimer mais elle ne marche pas. Je ne sais pas d'ou vient l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 <?php include("connection.php"); if(isset($_GET['action'])) { switch($_GET['action'] ) { case 'Supprimer': $suppr=mysql_db_query($db,"DELETE from cat nom_fr WHERE id='".$_POST['id']."' LIMIT 1"); break; case 'Ajouter ': $add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('$nom_fr')WHERE id='$id'" ); echo"case ajouter"; break; case 'Modifier': $mod = mysql_db_query($db,"UPDATE cat SET nom_fr='".$_POST['nom_fr']."' WHERE id='".$_POST['id']."'"); break; default: echo"Choisissez un des trois choix"; } } $r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC"); while($cat = mysql_fetch_assoc($r_cat)) { echo'<br /><br /><form method="post" action="admincat.php?action=Modifier"><input type="text" name="nom_fr" value="'.$cat['nom_fr'].'" />'; echo'<input type="submit" value="Modifier" /><input type="button" value="Supprimer" onClick="document.location="admincat.php?action=Supprimer"" />'; echo'<input type="hidden" name="id" value="'.$cat['id'].'" /></form>'; } echo'<form method="post" action="admincat.php?action=Ajouter"><input type="text" name="nom_fr" " /><input type="submit" value="Ajouter" /><input type="hidden" name="id" value="'.$cat['id'].'" /></form>'; ?>
bonjour,
Avant tout, essaye de tester ta requete directement sosu ton sgbd, ainsi tu sauras si ta requete pose pb (syntaxe, logique...) ou autre chose.
Tiens nous au courant.
J'ai inséré un type button au lieu de créer un 2 eme formulaire.
<input type="button" value="Supprimer" onClick="document.location='"admincat.php?action=Supprimer&id=".$cat['id'].""' " />';
Mais j'ai une erreur de quotes ou de double quotes, je ne vois pas ou ?
Salut,
Voici une solution :
Cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php echo '<input type="button" value="Supprimer" onClick="document.location=\'admincat.php?action=Supprimer&id="'.$cat["id"].'"\' " />';>
while (true) echo 'comique';
Du comique de répétition ...
Pour des questions de lisibilité, utilisez la balise [code]
Si votre problème est résolu, n'oubliez pas le tag
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager