Problème html/php

-syroz- Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un tableau dynamique qui a autant de ligne que j'ai de joueurs (utilisateur si on veut). J'aimerais avoir une astuce pour supprimer/modifier ceux-ci ou alors que quelqu'un m'aide à résoudre mon problème.

Présentement, un hidden field pour le id du joueur et deux boutons (modifier et supprimer) sont créés par ligne. J'aimerais savoir comment faire pour savoir le bouton de quel ligne a été cliqué et par le fait même, pouvoir récupérer son id et l'envoyer par POST.

Voici mon code php qui construit le corps de ma page:

$this->content .= '

<form id="listeJoueurs" name="listeJoueurs" method="post" action="/content/joueurs.php">

    <table width="200" border="0" cellpadding="0" cellspacing="10">

	<tr>
		<th scope="col"></th>
		<th scope="col">Nom</th>
		<th scope="col">Prénom</th>
		<th scope="col">Modifier</th>
		<th scope="col">Supprimer</th>
	</tr>';

								

while ($data = mysql_fetch_array($req)) { 

     $this->content .= '

		<tr>
			<td><input type="hidden" value="'.$data['idJoueur'].'" /></td>
			<td>'.$data['nom'].'</td>
			<td>'.$data['prenom'].'</td>
			<td><input type="submit" name="action" id="modifier" value="Modifier" /></td>
			<td><input type="submit" name="action" id="supprimer" value="Supprimer" /></td>
		</tr>';

} 

					

$this->content .= '

		</table>

	</form>';


On m'a conseillé de donner le nom "action" à mes deux boutons pour faire quelque chose du genre:

if($_POST['action'] = "Modifier"){
   // mon code
}else if($_POST['action'] = "Supprimer"){
   // mon code
}


Mais mon problème persiste, je ne suis toujours pas capable d'envoyer un seul id. Quelqu'un a un astuce?
A voir également:

3 réponses

MysticSquall Messages postés 402 Date d'inscription   Statut Membre Dernière intervention   27
 
salut, un = correspond a une incrémentation, un ==, une comparaison


if($_POST['action'] == "Modifier"){
// mon code
}else if($_POST['action'] == "Supprimer"){
// mon code
}
0
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
Hello,
Déjà je dirais que chaque ligne est identifié pa run ID donc tu peux précisémment savoir laquelle des lignes est affectée.
Ensuite je vois que c'est du PHP 5 je m'y pencherai ultérieurement je connais pas du tout...

Je surveille la progression des réponses de cette question
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
bonsoir,

déja tu n'as pas mis de name= à:

<input type="hidden" value="'.$data['idJoueur'].'" /> donc ton champ caché ne sert à rien, sans name tu ne peux pas le récupérer

ensuite quelque soit le bouton clické Modifier ou supprimer postera tout le formulaire

une solution est de faire ton bouton sous forme de lien:

while ($data = mysql_fetch_array($req)) { 

     $this->content .= '

		<tr>
			<td><input type="hidden" value="'.$data['idJoueur'].'" /></td>
			<td>'.$data['nom'].'</td>
			<td>'.$data['prenom'].'</td>
			<td><a href="/content/joueurs.php?action=modifier&id='.$data['idJoueur'].'" />Modifier</a></td>
			<td><a href="/content/joueurs.php?action=supprimer&id='.$data['idJoueur'].'" />Supprimer</a></td>
		</tr>';

} 

et tu récupères ensuite par:

if(isset($_GET['action'])){
	if($_GET['action'] =="modifier"){
		$id=$_GET['id'];
		//suite code modif
	}elseif($_GET['action'] =="supprimer"){
		$id=$_GET['id'];
		//suite code suppr

	}
}

si tu veux absolument un bouton tu peux mettre:

<td><input type="button" name="action" value="Modifier" onClick="javascript:location.href="/content/joueurs.php?action=modifier&id='.$data['idJoueur'].'" /></td>
<td><input type="button" name="action" value="Supprimer" onClick="javascript:location.href="/content/joueurs.php?action=supprimerr&id='.$data['idJoueur'].'" /></td>
0