salut à tous,
je cherche depuis quelques jours à gérer une colonne checkbox dans mon tableau (liste de pilotes, une case cochée signifiant qu'il est engagé au rallye, soit que la valeur de ma colonne "engage" est à 1. L'inverse étant bien sur "non engagé", soit valeur à 0 dans la base). En gros, ça me servirait a engager un pilote.
Pour l'instant, j'arrive à afficher ma base sans problème et renvoyer correctement les case cochées ou non:
Par contre, je ne vois pas comment faire pour pouvoir cocher un ou + pilotes et ainsi engendrer une modif dans ma base (passage de 0 à 1 sur tous les champs correspondants). Et pouvoir voir à chaque rafraichissement de page des cases cochées ou non selon les 0 ou 1.
Mon code:
Merci de votre aide
Modifié par el fab (03 Mar 2008 - 15:16)
je cherche depuis quelques jours à gérer une colonne checkbox dans mon tableau (liste de pilotes, une case cochée signifiant qu'il est engagé au rallye, soit que la valeur de ma colonne "engage" est à 1. L'inverse étant bien sur "non engagé", soit valeur à 0 dans la base). En gros, ça me servirait a engager un pilote.
Pour l'instant, j'arrive à afficher ma base sans problème et renvoyer correctement les case cochées ou non:

Par contre, je ne vois pas comment faire pour pouvoir cocher un ou + pilotes et ainsi engendrer une modif dans ma base (passage de 0 à 1 sur tous les champs correspondants). Et pouvoir voir à chaque rafraichissement de page des cases cochées ou non selon les 0 ou 1.
Mon code:
<?php
// information pour la connection ` le DB
$host = 'xxx';
$user = 'xxx';
$pass = 'xxx';
$db = 'xxx';
// connection ` la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
// requjte SQL qui compte le nombre total d'enregistrement dans la table et qui
//ricuphre tous les enregistrements
$select = 'SELECT * FROM engages';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
echo "<br/>";
echo 'Nombre de pilotes : '.$total;
echo "<br/><br/>";
// si on a recupere un resultat on l'affiche.
if($total) {
// debut du tableau
echo '<table width="590">'."\n";
// premiere ligne
echo '<tr>';
echo '<td bgcolor="#FF9900" align="center" style="color:#000"><b>Pilote</b></td>';
echo '<td bgcolor="#FF9900" align="center" style="color:#000"><b>Singe</b></td>';
echo '<td bgcolor="#FF9900" align="center" style="color:#000"><b>Moto</b></td>';
echo '<td bgcolor="#FF9900" align="center" style="color:#000"><b>Categorie</b></td>';
echo '<td bgcolor="#FF9900" align="center" style="color:#000"><b>Engage</b></td>';
echo '</tr>'."\n";
// lecture et affichage des risultats
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#666666" align="left">'.$row["pilote"].'</td>';
echo '<td bgcolor="#666666" align="left">'.$row["singe"].'</td>';
echo '<td bgcolor="#666666" align="left">'.$row["moto"].'</td>';
echo '<td bgcolor="#666666" align="center">'.$row["categorie"].'</td>';
echo '<td bgcolor="#666666" align="center">';
if ($row["engage"]=="1") {
echo '<input type="checkbox" name="modif[]" value="oui" checked="checked" >'; }
else {
echo '<input type="checkbox" name="modif[]" value="non">'; };
echo '</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libhre le risultat
mysql_free_result($result);
?>
Merci de votre aide
Modifié par el fab (03 Mar 2008 - 15:16)