Jump to content

Checkbox et traitements difficils


Recommended Posts

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:

Link to comment
Share on other sites

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:

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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...

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...