Checkbox en php

Fermé
Rebuffat - 3 déc. 2003 à 10:31
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 - 19 mai 2008 à 17:51
Bonjour
Voila j'ai ecrit le code suivant.
J'ai un tableau avec un certain nombre de colonne. Dont une pour modifier.

Voici le code et ensuite ma question :

<?php
	require_once ("Acces_BDPROJETS.php");
	
	// selectionner la base et la variable du pconnect se trouvant dans le fichier Acces_BDPROJETS.php
	@mysql_select_db($database_canalbd, $connexion) or die ("problème dans selection base");
	
	// definir la requête
	$query_Recordset1="SELECT * FROM projets1, reporting_mensuel WHERE projets1.Num_projet=reporting_mensuel.Num_projet ORDER BY Nom_du_projet  AND Mois ASC";
	// excecution de la requête
	$Recordset1=mysql_db_query ($database_canalbd,$query_Recordset1) or die("Erreur dans la requête");
	$row_Recordset1=mysql_fetch_assoc($Recordset1);// ici on rapatrie toutes les lignes de la base 
// dans un tableau row_Recordset1 
?>

<body bgcolor="#CCCCCC" background="">
<table width="67%" border="1" align="center" bgcolor="#CCCCCC">
		<tr>
			
    <td height="23">
<div align="center"><font color="#CC0000"><strong>CONSULTATION DES PROJETS</strong></font></div></td>
		</tr>
	</table>
	<br>
	<form name="form1" method="get" action="visu_base.php">
		
  <table width="100%" border="1" align="center">
    <tr bgcolor="#FF99FF"> 
      <td width="8%"><div align="center">Id_Projet</div></td>
      <td width="6%"><div align="center">Num Projet</div></td>
      <td width="12%"><div align="center">Nom Projet</div></td>
      <td width="15%"><div align="center">Description</div></td>
      <td width="5%"><div align="center">Date</div></td>
      <td width="16%"><div align="center">Reporting</div></td>
      <td width="17%" bgcolor="#00FFFF"><div align="center">Modifier un projet</div></td>
    </tr>
    <tr bgcolor="#FF99FF"> 
      <td colspan="6"> </td>
      <td bgcolor="#00FFFF"><div align="center"> 
          <input name="modif" type="checkbox" value="">
        </div></td>
    <tr bgcolor="#FF99FF"> 
      <td colspan="8"><input type="submit" name="Submit" value="Valider"> </td>
    </tr>
    <?php
$color="66CCFF";
while ($record = mysql_fetch_array($Recordset1))  	
{
					//$tableau .= "<tr bgcolor=#".$color.">";
$tableau .= "<td width=\"6%\" >".$record['Id_projet']."</td>";
$tableau .= "<td width=\"5%\" >".$record['Num_projet']."</td>";
$tableau .= "<td width=\"26%\">".$record['Nom_du_Projet']."</td>";
$tableau .= "<td width=\"28%\">".$record['Description_du_Projet']."</td>";
$tableau .= "<td width=\"5%\">".$record['Mois']."</td>";
$tableau .= "<td width=\"28%\">".$record['Reporting']."</td>
<td input name="modif " type="checkbox" value =""</td></tr>";
			
}
echo $tableau;
?>
			
  </table>
		
  
mysql_close($connexion);
?>
</table>
	
  </form>
</body>




Ma question est la suivante : je veux que la case à cocher apparaisse sur toutes les lignes de mon tableau. J'ai bien essaye de mettre un input dans la boucle while mais ca foire quelque part. Est ce quelqu'un a une idee d'ou. Ce serait cool.
A voir également:

3 réponses

PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
4 déc. 2003 à 20:48
Bsr,

Voici un ex :

page checkbox1.php

<html>
<head>
<title>Page A</title>
</head>
<body>
<form action="checkbox2.php" method="POST"> 

<table border=1>
<tr><td>Projet</td><td>Modifier des projets</td><td>Modifier un projet</td></tr>
<?php

$tableau="";
for ($i=0; $i <=10; $i++)
{
$tableau .= '<tr><td>Projet '.$i.'</td>';
$tableau .= '<td align="center"><input type="checkbox" name="modif[]" value="'.$i.'"></td>';
$tableau .= '<td align="center"><input type="radio" name="choix" value="'.$i.'"></td></tr>';
}

echo $tableau;

?>
</table>
<input type="submit" value="Ok">
</form>

</body>
</html>


qui appelle la page checkbox2.php

<html>
<head>
<title>Page B</title>
</head>
<body>
Résultat de la sélection :<br />

<?php
$modif=$_POST["modif"];

for ($i=0; $i <count($modif); $i++)
{
echo "modif[".$i."]=".$modif[$i]."<br />";
}

echo "choix=".$_POST["choix"];
?>

</body>
</html>



J'ai mis 2 colonnes : 1 avec des checkboxes une autre avec des radioboxes (ce qui me semble qd même plus logique si tu modifies un projet à la fois ...)

L'astuce pour les checkboxes consistent à donner toujours le même nom sous la forme : name="modif[]"
De cette façon PHP récupère un tableau de 1 élément si tu coches 1 options, de 2 éléments si tu coches 2 options etc ...

Pour les radioboxes il suffit de donner le même nom

Evidemment il faut penser à donner une valeur différente à chaque checkbox /radiobox sinon on ne récupère rien.

Dans l'exemple j'ai mis value="'.$i.'" mais remplace la valeur par l'ID de ton projet :
value='".$record['Id_projet'].'"
Je suppose que ton ID est unique bien sûr

Et voilà

@+


PhP    [Push the button,Don't push the
.         button,Trip the station,Change the channel]
6
Merci beaucoup les gars vous avez super bien repondu.

Je vous remercie je vais mettre cela en azpplication et je vous dis si j'y suis arrive.

A bientot bon week end.
1
Légende...
19 mai 2008 à 17:26
D'aucuns prétendent qu'il y arrivât...
0
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606 > Légende...
19 mai 2008 à 17:51
Et qu'il y a bien longtemps, il vivait sur la troisième planète en orbite autour d'une banale étoite de type G2-V nommée SOL, bien avant que celle-ci ne s'éteigne pour toujours.

Mais ceci est une vieille histoire ...


C'est fou ce qu'on apprend comme truc sur Wikipedia LOL
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
4 déc. 2003 à 10:44
Essaie deja de donner un nom différent à ta checkbox
Par ex : echo "<input name='modif" . $record['Id_projet'] . "' type = .......
0