[RESOLU] envoyer les éléments d'un tableau contenant une case à cochet

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] envoyer les éléments d'un tableau contenant une case à cochet

Re: envoyer les éléments d'un tableau contenant une case à cochet

par zagkhaled » 14 mars 2017, 21:27

salut
J'ai fais des changements dans la page d'appel.(j(ai ajouter les crochets mais j'ai gardé .$ligne['Ideleve']." sans serialize()
echo "<td> <div align='center'><input type='checkbox' name='case[]' value='".$ligne['Ideleve']."'>";
et dans la page cible:
$cases=$_POST['case']; // j'ai enlevé les crochets devant $cases[] et ça marché.
merci beaucoup pour votre aide cordialement.

Re: envoyer les éléments d'un tableau contenant une case à cochet

par @rthur » 14 mars 2017, 00:02

Parce que tu as mis le même nom à chaque case à cocher.
Soit tu mets des noms différents.
Soit tu met des crochets après le nom pour que le résultat soit renvoyé sous forme de tableau :
<input name='case[]' value='eleve1' ...>

Re: envoyer les éléments d'un tableau contenant une case à cochet

par zagkhaled » 13 mars 2017, 21:22

Merci pour la réponse , mais j'ai fait quelques modifications sa, fonctionne, mais il ne transmet que le contenu de la dernière case cocher.c-a- d il transmet une seule case.voila la page d'appel :
<?php
$dr=mysql_query("select * from eleve where abesent='0'");
while ($ligne=mysql_fetch_array($dr))
{
?>
<tr bordercolor="#666666">
<td><div align="center"><?php echo $ligne['Ideleve'];?></div></td>
<td><div align="center"><?php echo $ligne['Nom'];?></div></td>
<td><div align="center"><?php echo $ligne['prenom'];?></div></td>
<?php
echo "<form method='POST' action='essaff.php'>";
echo "<td> <div align='center'><input type='checkbox' name='case' value='".serialize($ligne['Ideleve'])."'>";
echo "</div></td></tr>";
?>
<?php
}
?>
voila la page cible
<?php
$cases[]=unserialize($_POST['case']);
if (count($cases)==0)
{
header('Location:afficher_pres.php');
}
else
{
$db = mysql_connect('localhost', 'root', '')
or die('<font color=red>Désolé mais vous ne pouvez voir les infos de la data-base</font>');
mysql_select_db('gest_eleve',$db);
foreach ($cases as $valeur){
$sql="UPDATE eleve SET abesent='1' where Ideleve='$valeur'";
$req= mysql_query($sql);
}
mysql_close();
}
?>

Re: envoyer les éléments d'un tableau contenant une case à cochet

par @rthur » 13 mars 2017, 02:10

Oublie le PHP quelques instants et demandes toi comment le faire en HTML avec 3 élèves.
Quand ça marchera en HTML avec 3 élèves, alors tu pourras brancher le PHP et le SQL pour rendre tout cela dynamique ;)

Pour faciliter le debug, tu peux aussi passer ton formulaire en method GET comme ça tu verras facilement dans l'url ce qui est transmis

envoyer les éléments d'un tableau contenant une case à cochet

par zagkhaled » 12 mars 2017, 14:08

Bonjour,

Alors voilà mon problème.

J'ai créée une base de données avec une table Eleve qui contient : id,nom, prénom, Absent
Le champ Absent =0 par défaut ou 1 (si l’élève est absent)
Je voudrai afficher tous les élèves présents ainsi qu'une case à cocher devant chaque lignes ( un élève par ligne). Jusqu'a ce point je me débrouille.

PROBLEME
Lorsque le prof fait l’appel il coche la case qui est devant l’élève absent.
Je désire récupérer les Id des élèves absents après l’appel et les transmettes à la page modif_affich.php pour effectuer les modifications et afficher la liste des élèves présents et les élèves absents.

1) donc Comment les " relier " à l’élève qui se trouve à coté (sur la même ligne )? Afin de pouvoir les modifier par la suite.
2) comment les récupérer dans la page modif_affich.php pour faire les modifications.
Voici un essai dans la page appel.php(pas d'erreur)

<?php
$dr=mysql_query("select * from eleve where absent='0'");
while ($ligne=mysql_fetch_array($dr))
{
?>
<tr bordercolor="#666666">
<td><div align="center"><?php echo $ligne['Ideleve'];?></div></td>
<td><div align="center"><?php echo $ligne['Nom'];?></div></td>
<td><div align="center"><?php echo $ligne['prenom'];?></div></td>
<?php
echo "<form method='POST' action='essaff.php'>";
echo "<td> <div align='center'><input type='checkbox' name='case".$ligne['Ideleve']."' value=''>";
echo "</div></td></tr>";
?>

<?php
}
?>