Aller au contenu

Checkbox et traitements difficils


ixialis

Messages recommandés

Posté(e)

Bonjour à tous,

Voila je cherche a ce qu'une personne puisse modifier ou supprimer un bien qu'elle aurait bien entendu inscrit avant dans la BDD.

Voici le code d'affichage de ce qu'elle possède:

<form action="traitement.php" method="POST">
<?php 
	$cdpro=$_POST['numprop'];

	mysql_connect('localhost','root','') or die ('Erreur de connexion '.mysql_error());
mysql_select_db('gsi') or die ('Erreur de selection '.mysql_error());

	$sql = mysql_query("SELECT numbien,titrebien FROM bien WHERE idproprio='$cdpro' ORDER BY numbien");
			while ($result = mysql_fetch_array($sql) )
					{				
?>						
					<table>
							<tr>
									<td>
											 <?php echo $result['numbien'];?>
									</td>
									<td>
											<?php echo $result['titrebien']; ?>
									</td>
									<td>
											<input type="checkbox" name="modifier" />
									</td>
									<td> 
											<input type="checkbox" name="delete"/>
									</td>
							</tr>
					</table>
<?php
					}
	mysql_close();
?>
			<br/>
			<br/>
					<table>
							<tr>
									<td>
											<input type="submit" name="Envoyer"/>
									</td>
									<td>
											<input type="reset"/>
									</td>
							</tr>
					</table>

</form>

Comme vous pouvez le voir, sur chacune des lignes il y a le numéro du bien ainsi que son titre et une checkbox pour modifier et une autre pour supprimer le bien. Je n'arrive pas à trouver comment savoir dans traitement.php le numéro du bien correspondant a la checkbox modifier/supprimer de la même ligne.

Merci d'avance et bonne soirée :)

Ps: Pour resumer : j'ai un tableau qui affiche la liste des biens grace a ma BDD SQL...et en face de chaque enregistrement j'ai deux boutons un modifier et l'autre supprimer... Mais comment dois je faire pour que lorsqu'un utilisateur clique sur l'un de ces boutons celui-ci reconnait quel enregistrements à été sélectionner dans le tableau et ensuite pour le modifier ou le supprimer? Cela fait une journée que je suis dessus (j'ai commencé a 8h le matin) et malgré des recherches sur internet, dans mes livres sur le php, je n'ai pu trouver la solution. :lock:

Posté(e)

effectivement, actuelement, quoi que tu coches, tu vas envoyer la meme chose au traitement ; change le name de tes checkbox en modifier_$id_de_ton_truc et supprimer_$id_de_ton_truc, tu devrais t'y retrouver :chinois:

bonne chance

Posté(e)

C'est a dire?

name="modifier<?php$result['numbien'];?>"

Pour le traitement? Comment pourrais je procéder?

Peut t'on isoler le numbien qu'il y aura dans le name?

Merci :transpi:

C'est le dernier problème avant de pouvoir finir mon projet en gsi :craint:

Posté(e)

t'as plusieurs facon de le faire

le plus simple est de relancer la requete pour avoir tous les id a tester, enfin, j'en ai jamais fait comme ca, il y a peut-etre une solution encore plus simple (mais dans le doute, tu peux toujours le faire a la porc)

Posté(e)

Bonsoir !

Voila, je n'arrive toujours pas a faire fonctionner tout ca :transpi:

Voici le formulaire:

<td>
<input type="checkbox" name="modifier[]" value="<?php echo $_result['numbien']; ?>"/>
</td>
<td> 
<input type="checkbox" name="supprimer[]" value="<?php echo $_result['numbien']; ?>"/>
</td>

et le traitement:

<?php
foreach($_POST['modifier'] as $num)
{
 echo $num . '<br />';
}
?>

Je me suis donc dit autant mieux déja essayer d'afficher les checkbox sélectionnées avant de tenter quoi que ce soit...

Conclusion : Page blanche...

Posté(e)

tente ca

<?

[...]

$res = $result['numbien'];
echo "<td><input type=checkbox name=modifier[] value=$res /></td>";
echo "<td><input type=checkbox name=supprimer[] value=$res /></td>";

[...]

if (isset(($modifier = $_POST['modifier'])))
 {
echo "tu veux modifier: ";
for ($i = 0; $i < sizeof($modifier); $i++)
  {
	echo $modifier[$i];
	if (isset($modifier[$i + 1]))
	  echo ", ";
  }
echo "<br>";
 }
if (isset(($modifier = $_POST['supprimer'])))
 {
echo "tu veux modifier: ";
for ($i = 0; $i < sizeof($modifier); $i++)
  {
	echo $modifier[$i];
	if (isset($modifier[$i + 1]))
	  echo ", ";
  }
echo "<br>";
 }
?>

(desole, les foreach, j'aime pas)

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...