Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/10/2007, 10h17   #1
Membre du Club
 
Inscription : octobre 2007
Messages : 196
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 196
Points : 48
Points : 48
Par défaut Plusieurs submit dans un formulaire

Salut!

Encore un problème!
voilà, j'ai un tableau alimenté par un select qui me montre le contenu d'une table:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$req="SELECT * FROM missions";
$res=mysql_query($req);
$num=mysql_num_rows($res);
    echo'<table border="2">';
    echo'<tr><td colspan=7 align="center">FORMULAIRE CPA</td></tr>';
 
while($tab=mysql_fetch_array($res)){
    echo'<form  action="traitement_form_cpa.php" method="get">';
    echo'<tr><td><input type="hidden" name="id_mission" value="'.$tab['id_mission'].'"</td>';
    echo'<td><input type="hidden" name="id_page" value="'.$tab['idpage'].'"</td>';
    echo'<td>'.$tab['destination'].'</td>';
    echo'<td>'.$tab['titre_mission'].'</td>';
    echo'<td>'.$tab['mission'].'</td>';
    echo'<td><input type="submit" name="modifier" value="modifier"></td>';
    echo'<td><input type="submit" name="supprimer"value="supprimer"></td>';
    echo'</tr>';
    }
    echo'</form>';
    echo'<tr><td colspan=7 align="center"><input type="button" value="Ajouter un enregistrement" onClick="location.replace(\'formulaire_cpa.php\')"</td></tr>';
    echo'</table>';
J'ai donc 2 submits à chaque ligne, un pour modifier la ligne, l'autre pour la supprimer.

MAIS quand je passe au traitement:
Code :
1
2
3
4
5
6
7
8
9
10
if($_GET['supprimer']){
 
	$rq=("DELETE FROM missions where id_mission=".$_GET['id_mission']);
 
    $requete=mysql_query($rq);
    if($requete){
    ?>
    <script type="text/javascript">
location.replace("affiche_table_cpa.php");
</script>
$_GET ne correspond qu'à ma dernière ligne!!!
merci de votre aide
claire
claire13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2007, 10h31   #2
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
le mieux serait de faire une checkbox pour chaques lignes en en fin de ton tableau un seule bouton supprimer , puis tu recupere le tableau des valeurs selectionnées et tu les supprime !
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2007, 10h44   #3
Membre du Club
 
Inscription : octobre 2007
Messages : 196
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 196
Points : 48
Points : 48
merci mais entre temps j'ai trouvé un bidouillage
J'ai rajouté un champs caché où je place $i puis je le test:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$req="SELECT * FROM missions";
$res=mysql_query($req);
$num=mysql_num_rows($res);
    echo'<table border="2">';
    echo'<tr><td colspan=7 align="center">FORMULAIRE CPA</td></tr>';
    for($i=0;$i<$num;$i++)
while($tab=mysql_fetch_array($res)){
    echo'<form  action="traitement_form_cpa.php" method="get">';
    echo'<tr><td><input type="hidden" name="id_mission" value="'.$tab['id_mission'].'"</td>';
    echo'<tr><td><input type="hidden" name="'.$i.'" value="'.$i.'"</td>';
    echo'<td><input type="hidden" name="id_page" value="'.$tab['idpage'].'"</td>';
    echo'<td>'.$tab['destination'].'</td>';
    echo'<td>'.$tab['titre_mission'].'</td>';
    echo'<td>'.$tab['mission'].'</td>';
    echo'<td><input type="submit" name="modif" value="modifier"></td>';
    echo'<td><input type="submit" name="sup" value="supprimer"></td>';
    echo'</tr>';
    echo'</form>';
    $i++;}
    echo'<tr><td colspan=7 align="center"><input type="button" value="Ajouter un enregistrement" onClick="location.replace(\'formulaire_cpa.php\')"</td></tr>';
    echo'</table>';
puis mon test:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for($i=0;$i<3;$i++){
if(($_GET['sup'])&&($_GET['i']==$i)){
	$rq=("DELETE FROM missions where id_mission=".$_GET['id_mission']);
 
    $requete=mysql_query($rq);
   if($requete){
?>
    <script type="text/javascript">
    location.replace("affiche_table_cpa.php");
    </script>
<?
 
   } else{$retour="La suppression a échouée";}
}
merci encore pour ton aide mais si tu penses que cette solution n'est pas astucieuse merci de me le faire savoir!!
claire
claire13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2007, 10h53   #4
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
C'est ambigue a vrai dire , pour la suppression je procederait a ma solution ce qui permet de cocher rapidement les lignes a supprimer , mais en meme temps pour la modification ça devient plus ch** puisque faudrait afficher plusieurs petit formulaires de modif !

Si tu prefere ta solution c'est bien aussi , ça marche simplement pour les 2 cas mais ça permet pas de supprimer plusieurs lignes d'un seul coups !

Donc un choix a mediter lol
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h53.


 
 
 
 
Partenaires

Hébergement Web