Variables et cases à cocher en php

Fermé
Mariana - 26 mars 2010 à 10:19
 Mariana - 27 mars 2010 à 11:24
Bonjour à tous,


Je suis débutante en php et j'ai besoin vraiment de votre aide!
J'ai une page contenant un tableau affichant toutes les données d'une table de ma base de données. Sur chaque ligne il ya une case à cocher. Je veux en cochant un nombre de case et en appuyant sur le bouton submit les lignes que j'ai coché seront affiché sur une nouvelle page.
Mon problème c'est comment identifier la case à cocher et comment récupérer l'identifiant ou le numéro des lignes cochées pour pouvoir afficher les données sur la deuxième page.

Je n'ai aucune idée. Je souhaite bien que vous m'aideriez. ET merci d'avance
A voir également:

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 mars 2010 à 11:37
tes donnees doivent avoir un id je suppose, alors tu cree tes cases comme ça:

while($donnees=mysql_fetch_array($result_requette)){

///  tes autres champs
//la case a cocher
echo '<input type="checkbox" name="cases_cochees[]" value="'.$donnees['id'].'">';

//on lui met un name sous forme d'array

}

dans la page appelée tu récupéres celles cochées par


$array_case_cochees=$_POST['cases_cochees'];

ensuite tu peux faire une boucle sur cet array pour affichage

0
Merci bien !!!!!!!
ça marche!!!!!!!!!!!!!!!!
0
Est ce que vous savez comment je peux trouver les cases que j'ai coché précédemment bien cochées lorsque je recharge de nouveau mon formulaire.
Merci d'avance,,
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 mars 2010 à 15:34
Voilà:

//dans la page appelée tu récupéres celles cochées par
$array_case_cochees=array(); //ça il le faut pour eviter une erreur

$array_case_cochees=$_POST['cases_cochees'];

while(....){
echo '<input type="checkbox" name="cases_cochees[]" value="'.$donnees['id'].'"';
	if(in_array($donnees['id'],$array_case_cochees) echo ' checked'; //attention nepa soublier l'espace avant checked
echo' />'; //la fin de la balise input

}
0
Merci pour votre aide, mais j'ai pas pu appliquer cela sur mon code. C'est dû surement à mes faibles connaissances en php.
Je vais vous expliquer je que je suis en train de faire en espérant que vous serez patient pour comprendre mon code et le lire jusqu'à la fin et que vous m'aideriez encore car vraiment c'est très urgent!!
Alors voilà:
J'ai une première page affecter_frais_vehicule :Je choisie une véhicule et j'affiche dans un tableau les différents frais de la table frais (id,nom_frais,type_frais,period_frais,selon,date_debut)et devant chaque frai une case à cocher:

//code

<p> <table align="center">
<tr bgcolor="#CCE6E6">
<td><span class="Style11">N°</span></td>
<td ><span class="Style11">Frais</span></td>
<td><span class="Style11">Type</span></td>
<td nowrap="nowrap"><span class="Style11">Période</span></td>
<td><span class="Style11">Selon</span></td>
<td><span class="Style11">A partir de</span></td>
<td nowrap="nowrap" bgcolor="#CCE6E6"><strong>Cocher</strong></td>

</tr>
<?php include("connexion.php");

$i=0;
import_request_variables(gp);
$req=mysql_query("select * from frais")or die(mysql_error());



while($row=mysql_fetch_object($req))
{ $i++;
if(($i % 2)==1)
{$col='#CCE6FF';
} else $col='#CCE6E6';
?>
<tr bgcolor=<?php echo $col; ?>>
<td><span class="Style14 Style7"><?php echo $i;?></span></td>
<td><span class="Style14 Style7" id="nom_frais"><?php echo $row->nom_frais; ?></span></td>
<td><span class="Style14 Style7" id="type_frais"><?php echo $row->type_frais; ?></span></td>
<td><span class="Style14 Style7" id="periode_frais"><?php echo $row->periode_frais; ?></span></td>
<td><?php echo $row->selon; </td>
<td nowrap="nowrap" bgcolor="<?php echo $col; ?>"><span class="Style14" id="date_ajout"><?php echo $row->date_debut; ?></span></td>


<td><input name="choix[]" type="checkbox" value="'.$row['id'].'" /></td>


</tr>
<?php }?>
<tr>
<td height="138"> <input name="Submit" type="submit" class="Style5" value="Ajouter" onclick="this.form.action = 'insertion_frais_vehicule.php'; this.form.submit()" /></td>
</tr>

</table></p>


Je veux que je coche les frais que je souhaite affecter à la véhicule et enregistrer cela dans une table affecter_frais_vehicule (id,nom_frais,type_frais,periode_frais,selon,date_debut,matricule_vehicule)

Voici le code de l'insertion:


<?php
include("connexion.php");
//script ajout insertion de donnée dans la base
import_request_variables(gp);
$date = date('d-m-Y');
$date = explode('-', $date);
$date = array_reverse($date);
$date = implode('/', $date);
$c=$_POST['choix[]'];
mysql_query("insert into affecter_frais_vehicule(nom_frais,type_frais,periode_frais,selon,date_debut,matricule_vehicule,,id) values ('".$nom_frais."','".$type_frais."','".$periode_frais."',''.$selon."','$date','".$matricule_vehicule."','",'$c')");
?>

Je veux maintenant que si je veux affecter un autre frais à la même véhicule je souhaite que j'affiche dans la première page le même tableau des listes des frais mais en trouvant les frais que j'ai affecté affecté précédemment à cette véhicule cochés.


Je serai très reconnaissante si vous m'aideriez!!
Merci d'avance!!!
0