[HTML]Formulaire un peu complexe

Fermé
deathscythe Messages postés 14 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 2 mars 2009 - 6 oct. 2008 à 09:32
 DoGrEcOrD - 18 mars 2009 à 17:25
Bonjour,

Je suis en train de réaliser une petite application web qui sera utilisée dans mon entreprise.

Je voudrais faire une interface du genre PHPMyAdmin avec à la fois des checkbox et des boutons pour modifier et supprimer.
Pour être plus clair, je voudrais que le rendu sois le suivant :
http://samy33.homelinux.org/images/rendu.png

A l'origine j'ai pensé à faire un 1er formulaire (qui englobait le tableau en entier) permettant d'utiliser les checkbox du tableau puis de faire des formulaires imbriqués (2 par ligne) pour les boutons Modifier (le crayon) et supprimer(la croix).

Le truc c'est qu'il n'est pas possible de faire des formulaires imbriqués.

J'ai cherché sur internet, en vain.
Donc si quelqu'un a une réponse, je suis preneur.

Merci d'avance.
A voir également:

7 réponses

Bonjour,

je ne vois pas où est le soucis dans ce que tu veux faire .

Pour ta sélection multiple :
Pour chaque ligne de ton tableau tu mets un checkbox avec un nom.
Après dans la récupération de ton formulaire, tu prends les éléments sélectionnés et tu les supprimes.

Pour tes boutons 'modifier' ou 'supprimer' de chaque ligne, tu les mets en type submit, et tu mets un nom correspondant à ton champ.
A la récupération de ton formulaire, avec des if, tu arrives à récupérer ton élément et tu le modifie ou supprime.

A+.
1
Tu n'aurais pas juste oublier de fermer ton formulaire desfois :P
0
deathscythe Messages postés 14 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 2 mars 2009
6 oct. 2008 à 10:05
Je vois pas trop ce que tu me préconises de faire.

Pour l'instant chaque bouton de type submit me renvoit sur une page différente.
Si j'ai bien compris, je peux faire un traitement avec des if en fonction du bouton que j'ai cliqué?
Donc il faudrait que je renvoie les infos sur la même page quelque soit le bouton sur lequel je clique?

Je test et je te tiens au courant
-1
deathscythe Messages postés 14 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 2 mars 2009
7 oct. 2008 à 14:11
Ta solution marche... presque Nixial, lol.

Non sérieusement elle marche bien, mais amène un nouveau problème.
Je donne une value à mes boutons submit (Modifier et Supprimer). Du coup la valeur apparait en plus de l'image qui me sert de bouton et le résultat visuel n'est donc pas satisfaisant (même si au niveau fonctionnel ca marche nickel).

Tu aurais pas une idée pour masquer la valeur du submit (en CSS ou autre)???
-1

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

Posez votre question
deathscythe Messages postés 14 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 2 mars 2009
8 oct. 2008 à 10:12
J'ai résolu le problème en utilisant un INPUT de type image plutot qu'un submit avec la valeur ONCLICK='submit();'

Donc tout est ok.

Merci pour ton aide Nixial.

++
-1
deathscythe Messages postés 14 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 2 mars 2009
9 oct. 2008 à 10:41
En fait j'ai un autre problème :

J'ai remplacer mes champs
<input type='submit' name='modif' value='id_mat'>
par
<input type='image' src='templates/images/b_edit.png' name='modif' value='id_mat' onclick='submit();'>

Le problème c'est que mon formulaire renvoit vers une page qui test quel type d'action est désiré (modifier, supprimer ou suppression multiple).
Pour ce faire, je test le nom du submit renvoyé.
Sous Firefox, ca pose aucun probleme.
Par contre sous IE il ne trouve pas le nom renvoyé par le onclick='submit();'

Vous avez une solution???
-1
deathscythe Messages postés 14 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 2 mars 2009
10 oct. 2008 à 09:02
Pour être un peu plus explicite voici la partie du code qui nous interesse :

<?php
echo"<FORM method=POST action='redirection2.php' ENCTYPE='multipart/form-data' />";
		echo"<INPUT TYPE='HIDDEN' NAME='table' VALUE='materiel' />";
		echo"<INPUT TYPE='HIDDEN' NAME='page' VALUE='adm_materiel.php' />";
		echo"<TABLE border='solid' align='center'>";
			echo"<TR align='center'>";
				echo"<TD>";
					echo"&nbsp;";
				echo"</TD>";
				echo"<TD>";
					echo"&nbsp;";
				echo"</TD>";
				echo"<TD>";
					echo"&nbsp;";
				echo"</TD>";
				echo"<TD>";
					echo"<b>";
					echo"n° CSI";
					echo"</b>";
				echo"</TD>";
				echo"<TD>";
					echo"<b>";
					echo"Hostame";
					echo"</b>";
				echo"</TD>";
				echo"<TD>";
					echo"<b>";
					echo $lang["mac"];
					echo"</b>";
				echo"</TD>";
				echo"<TD>";
					echo"<b>";
					echo"Outlet";
					echo"</b>";
				echo"</TD>";
				echo"<TD>";
					echo"<b>";
					echo $lang["com"];
					echo"</b>";
				echo"</TD>";
			echo"</TR>";
	
		while($row1 = mysql_fetch_array($result1, MYSQL_ASSOC)){
	
			$id_mat 	= $row1['id_mat'];
			$n_mat 	= $row1['n_mat'];
			$hostname = $row1['hostname'];
			$mac_add 	= $row1['mac_add'];
			$outlet 	= $row1['outlet'];
			$com	 	= $row1['com'];
			
			//Affichage des enregistrements
			echo"<TR>";
				echo"<TD>";
					echo"<INPUT TYPE='checkbox' NAME='select[]' VALUE='$id_mat' />";
				echo"</TD>";
				echo"<TD>";
					echo"<INPUT TYPE='image' src='templates/images/b_edit.png' NAME='modif' VALUE='$id_mat' onclick='submit();'>";
				echo"</TD>";
				echo"<TD>";
					echo"<INPUT TYPE='image' src='templates/images/b_drop.png' NAME='suppr' VALUE='$id_mat' onclick='submit();'>";
				echo"</TD>";
				echo"<TD>";
					echo"$n_mat";
				echo"</TD>";
				echo"<TD>";
					echo"$hostname";
				echo"</TD>";
				echo"<TD>";
					echo"$mac_add";
				echo"</TD>";
				echo"<TD>";
					echo"$outlet";
				echo"</TD>";
				echo"<TD>";
					echo"$com";
				echo"</TD>";
			echo"</TR>";
		}

?>


Et voici la page qui traite le formulaire (redirection2.php) :

<?php
$table=$_POST['table'];
$page=$_POST['page'];

if(isset($_POST['select'])){
		...	
		}
elseif(isset($_POST['modif'])){
	$modif = $_POST['modif'];
	?><SCRIPT language=javascript><?php echo"window.location='modif.php?id=$modif&table=$table&page=$page';"; ?></SCRIPT><?php
}
elseif(isset($_POST['suppr'])){
	$suppr = $_POST['suppr'];
	?><SCRIPT language=javascript><?php echo"window.location='suppr.php?id=$suppr&table=$table&page=$page';"; ?></SCRIPT><?php
}
?>


Et donc sous FF pas de problème quand l'action est modifier ou supprimer mais par contre avec IE ca reste bloquer sur la page redirection2.php.
Après test sur l'existence de $_POST['modif'] et $_POST['suppr'] il s'avère que ces valeurs ne sont pas renvoyé par le onclick = 'submit();'

Si quelqu'un sait comment résoudre ce problème sous IE (que je suis obligé d'utiliser au boulot), je suis preneur.

Merci d'avance.
-1