Rechercher : dans
Par :

Recuperer valeur d'une case à cocher php

Dernière réponse le 4 sep 2009 à 13:07:40 abdoul, le 2 sep 2009 à 18:25:05 
 Signaler ce message aux modérateurs

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>

Configuration: Windows 2003
Firefox 3.5.2

Meilleures réponses pour « recuperer valeur d'une case à cocher php » dans :
Il est possible de récupérer le code source PHP d'un site VoirMythe Un utilisateur peut récupérer le code source PHP d'un site web comme il peut récupérer le code HTML. Réalité FAUX Explications Les fichiers PHP (ASP, JSP, etc.) sont des fichiers interprétés côté serveur, ce qui signifie que le serveur...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...
PHP - Parser du XML VoirIntroduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de...
PHP - Les cookies et les en-têtes HTTP VoirLes en-têtes HTTP Lors de chaque échange par le protocole HTTP entre votre navigateur et le serveur, des données dîtes d'en-têtes contenant des informations sur les données à envoyer (dans le cas d'une requête) ou envoyées (dans le cas d'une...

1

avion-f16, le 2 sep 2009 à 18:34:32

if($_POST['checkbox'] == 'on') {
    ...
}
// ou
if(isset($_POST['checkbox'])) {
    ...
}
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu­ lui dis de faire.

Répondre à avion-f16

2

abdoul, le 2 sep 2009 à 18:53:14

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

Répondre à abdoul

3

avion-f16, le 2 sep 2009 à 19:05:21

<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 ...
    }
    // ...
}
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.

Répondre à avion-f16

4

Bacha, le 2 sep 2009 à 19:13:58

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

Répondre à Bacha

5

baran19, le 3 sep 2009 à 14:21:53

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>

Répondre à baran19

6

baran19, le 3 sep 2009 à 15:07:17

Desolé d'avoir changé de pseudo j'avais pa reamarquer que mon pote avait envoyer un msg

Répondre à baran19

7

 baran19, le 4 sep 2009 à 13:07:40

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!

Répondre à baran19