Recuperer valeur d'une case à cocher php [Résolu/Fermé]

Signaler
-
 baran19 -
Bonsoir,
j'ai un tableau qui presente la liste des enregistrement d'une de mes tables pour en modifier celui qui sera valider. j'ai donc mi une case à cocher pour choisir la ligne qui sera modifier, voilà où je plante je ne sais pas comment faire pour savoir quelle ligne a été choisi (dans mon code en fait)
Merci de m'aider.

<?php include("config.php");?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style4 {font-size: 30px; font-variant: normal; color: #1241BC; font-family: Algerian;}
-->
</style>
</head>

<body>
<div align="center" class="Style4">LISTE DES CLIENTS</div>
<p> </p>
<p> </p>
<?php
//récupère tous les enregistrements
$select = 'SELECT codescte,nomscte,adrsgeo,tel,fax,dtescte FROM societe';
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

$Nmax = 10; // nombre par page
$Ncur = 0; // n° de la fiche courante

$Ndeb=@$_GET["num"]; // 1ère fiche transmise par l'URL
// si on a récupéré un résultat on l'affiche.
if($total) {
?>
<table width="616" border="2" align="center">
<tr>
<td width="52">CODE</td>
<td width="90"><div align="center">SOCIETE</div></td>
<td width="112"><div align="center">ADRESSE</div></td>
<td width="89"><div align="center">TELEPHONE</div></td>
<td width="92"><div align="center">FAXE</div></td>
<td width="155"><div align="center">DATE D'ENREGISTREMENT </div></td>
<td width="155">MODIFIER</td>
</tr>
<?php


// tant qu'il y a des fiches
while (($row = mysql_fetch_array($result))
&& ($Ncur<$Nmax+$Ndeb)) {
if($Ncur>=$Ndeb) {
?>
<tr>
<td><?php echo ($row['codescte']); ?></td>
<td><?php echo ($row['nomscte']); ?></td>
<td><?php echo ($row['adrsgeo']); ?></td>
<td><?php echo ($row['tel']); ?></td>
<td><?php echo ($row['fax']); ?></td>
<td><?php echo date("d/m/Y H:i:s",$row['dtescte']); ?></td>
<td><form name="form1" method="post" action="modif.php">
<label>
<input type="checkbox" name="checkbox" value="Modifier">
</label>
</form>
</td>
</tr>
<?php }
// une de plus
$Ncur++;
}?>
</table>

<br>
</div>
<table align="center" cellpadding=3>
<tr>
<?php // Navigation
// Des fiches avant ?
if($Ndeb > 0) { ?>
<td valign=top>
<A href="?num=<?php echo $Ndeb-$Nmax; ?>">Retour</A> </td>
<?php } ?>
<td>
<?php // N° des pages
$Npag = ceil(mysql_numrows($result)/$Nmax);
for($i = 1;$i<=$Npag;$i++) {
// Page courante ?
if($Ndeb == ($i-1)*$Nmax) { ?>
<?php echo $i; ?>
<?php } else { ?>
<A href=""
> <?php echo $i; ?> </A>
<?php }
} ?> </td>
<?php // Des fiches après ?
if($row) { ?>
<td valign=top>
<A href="?num=<?php echo $Ncur; ?>">Suite</A> </td>
<?php } ?>
</tr></table>
<?php
echo '</table>'."\n";
// fin du tableau.
} ?>
</body>
</html>

7 réponses

slt à tous je viens de trouver la solution à mon probleme. A la place d'une case à cocher j'ai décidé de placer une imge et d'y mettre un lien qui m'enverra à la page du formulaire. voici dc le code finale:

<?php
//récupère tous les enregistrements
$select = 'SELECT codescte,nomscte,adrsgeo,tel,fax FROM societe';
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

$Nmax = 10; // nombre par page
$Ncur = 0; // n° de la fiche courante

$Ndeb=@$_GET["num"]; // 1ère fiche transmise par l'URL
// si on a récupéré un résultat on l'affiche.
if($total) {
?>
</p>
<TABLE width="785" border="1" align="center" class="tableau">
<tr class="style3">
<th width="59" align="center">N°</th>
<th width="120" align="center">Societe</th>
<th width="130" align="center">Adresse</th>
<th width="90" align="center">Téléphone</th>
<th width="90" align="center">Faxe</th>
<th width="160" align="center">Date d'enregistrement</th>
<th width="90" align="center">Modification</th>
</tr>
<?php
while (($row=mysql_fetch_row($result))
&& ($Ncur<$Nmax+$Ndeb)) {
if($Ncur>=$Ndeb) {
?>
<tr>
<td align=\"center\"><?php echo $row[0] ?></td>
<td align=\"center\"><?php echo $row[1] ?></td>
<td align=\"center\"><?php echo $row[2] ?></td>
<td align=\"center\"><?php echo $row[3] ?></td>
<td align=\"center\"><?php echo $row[4] ?></td>
<?php
$sql1="SELECT dtescte FROM societe WHERE codescte='".$row[1]."'";
$result1=mysql_query($sql1);
$row1 = mysql_fetch_row($result1);
?>
<td align=\"center\"><?php echo date("d/m/Y H:i:s",$row1[0]) ?></td>
<td align=\"center\"><a href="modif_client_form.php?code=$row[0]" target="bas"><img src="l_connect.gif"></a> </td>
</tr>
<?php
}
$Ncur++;
}
?>
</TABLE>

<table align="center" cellpadding=3>
<tr>
<?php // Navigation
// Des fiches avant ?
if($Ndeb > 0) { ?>
<td valign=top>
<A href="?num=<?php echo $Ndeb-$Nmax; ?>">Retour</A> </td>
<?php } ?>
<td>
<?php // N° des pages
$Npag = ceil(mysql_numrows($result)/$Nmax);
for($i = 1;$i<=$Npag;$i++) {
// Page courante ?
if($Ndeb == ($i-1)*$Nmax) { ?>
<?php echo $i; ?>
<?php } else { ?>
<A href="?num=<?php echo ($i-1)*$Nmax; ?>"
> <?php echo $i; ?> </A>
<?php }
} ?> </td>
<?php // Des fiches après ?
if($row) { ?>
<td valign=top>
<A href="?num=<?php echo $Ncur; ?>">Suite</A> </td>
<?php } ?>
</tr></table>
<?php
echo '</table>'."\n";
// fin du tableau.
}
?>

Je tiens encore à vous remercier pour votre aide!
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
18448
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
11 octobre 2020
4 216
if($_POST['checkbox'] == 'on') {
    ...
}
// ou
if(isset($_POST['checkbox'])) {
    ...
}
apres avoir choisi la ligne à modifier un formulaire s'affiche avec les donnée à changer, donc mon probleme se situe au niveau de la requete coment est ce que je fais pour savoir quelle ligne a été selectionné.
excuse moi encore et merci
Messages postés
18448
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
11 octobre 2020
4 216
<input type="checkbox" name="checkbox-{id_element}" />

Ensuite, tu fais une boucle. Il faut que l'id du premier élément soit stocké dans une variable.
for($i=$premierElement;$i<$nbElement;$i++){
    if($_POST['checkbox-'.$i] == 'on') {
         // Si la case de l'élement ayant comme id $i est cochée ...
    }
    // ...
}
essais de changer la valeur de votre checkbox comme ca
<input type="checkbox" name="checkbox[]" value="<?php echo ($row['id']); ?>">
noter que le nom il sera un tableau
et aussi changer votre roquette sql pour retirer le champs id
comme ca par exemple
$select = 'SELECT id,codescte,nomscte,adrsgeo,tel,fax,dtescte FROM societe';
qui doit être auoincrementer
salut à tous
bon j'ai essayé la methode d'avion-f16 mais qd je valide rien
j'ai ajouté une requete sql pour verifier que si on coche une case que quelque chose se passe mais je ne sais pas si j'ai fait exactement ce qu'il fallait et comme je ne sais pas comment recuperer le nombre total d'enregistrement j'ai directement mis le chiffre. et en ce qui concerne la proposition de Bacha j'ai pas pas bien compris

<body>
<div align="center" class="Style4">LISTE DES CLIENTS</div>
<p> </p>
<p> </p>
<?php
//récupère tous les enregistrements
$select = 'SELECT codescte,nomscte,adrsgeo,tel,fax,dtescte FROM societe';
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

$Nmax = 10; // nombre par page
$Ncur = 0; // n° de la fiche courante

$Ndeb=@$_GET["num"]; // 1ère fiche transmise par l'URL
// si on a récupéré un résultat on l'affiche.
if($total) {
?>
<table width="616" border="2" align="center">
<tr>
<td width="52">CODE</td>
<td width="90"><div align="center">SOCIETE</div></td>
<td width="112"><div align="center">ADRESSE</div></td>
<td width="89"><div align="center">TELEPHONE</div></td>
<td width="92"><div align="center">FAXE</div></td>
<td width="155"><div align="center">DATE D'ENREGISTREMENT </div></td>
<td width="155">MODIFIER</td>
</tr>
<?php


// tant qu'il y a des fiches
while (($row = mysql_fetch_array($result))
&& ($Ncur<$Nmax+$Ndeb)) {
if($Ncur>=$Ndeb) {
?>
<tr>
<td><?php echo ($row['codescte']); ?></td>
<td><?php echo ($row['nomscte']); ?></td>
<td><?php echo ($row['adrsgeo']); ?></td>
<td><?php echo ($row['tel']); ?></td>
<td><?php echo ($row['fax']); ?></td>
<td><?php echo date("d/m/Y H:i:s",$row['dtescte']); ?></td>
<td><form name="form1" method="post" action="listeclient5.php">
<label>
<input type="checkbox" name="checkbox-{codescte}" />
</label>
</form>
</td>
</tr>
<?php }
// une de plus
$Ncur++;
}?>
</table>
<br>
</div>
<table align="center" cellpadding=3>
<tr>
<?php // Navigation
// Des fiches avant ?
if($Ndeb > 0) { ?>
<td valign=top>
<A href="?num=<?php echo $Ndeb-$Nmax; ?>">Retour</A> </td>
<?php } ?>
<td>
<?php // N° des pages
$Npag = ceil(mysql_numrows($result)/$Nmax);
for($i = 1;$i<=$Npag;$i++) {
// Page courante ?
if($Ndeb == ($i-1)*$Nmax) { ?>
<?php echo $i; ?>
<?php } else { ?>
<A href=""
> <?php echo $i; ?> </A>
<?php }
} ?> </td>
<?php // Des fiches après ?
if($row) { ?>
<td valign=top>
<A href="?num=<?php echo $Ncur; ?>">Suite</A> </td>
<?php } ?>
</tr></table>
<?php
echo '</table>'."\n";
// fin du tableau.
}
$sql="SELECT codescte FROM societe limit 0,1";
$req=mysql_query($sql);
$premier = mysql_fetch_array($req);
//echo ($premier['codescte']);}


for($i=$premier;$i<71;$i++){
if (isset($_POST['ok'])){
if($_POST['checkbox-'.$i] == 'on') {
// Si la case de l'élement ayant comme id $i est cochée ...
$requete="SELECT * FROM societe WHERE codescte=".$i;
$resultat=mysql_query($requete);
while ($var=mysql_fetch_array($resultat)){
echo ($var['codescte']);
echo ($var['nomscte']);}
}
// ...
}}

?>
</body>
desolé d'avoir changé de pseudo j'avais pa reamarquer que mon pote avait envoyer un msg