Holdup
Nouveau membre
Bonjour, et dores et déjà merci de me lire.
je suis en train de programmer un jeu de cyclisme en php et mysql.
Je bute sur une difficulté pour insérer dans une table mysql, les resultats d'une selection de n checkbox.
( n étant different d'une course à l'autre). ( il s'agit du nb de coureurs selectionné pour la course.
J'ai mis au point un requete qui me permet d'afficher les coureurs de l'équipe disponible pour une course :
Voilà pour la première partie.
Je post donc la selection de coureur vers verif_compo.php
Je demande l'affichage de la selection et je n'ai pas de pbm, grace à une boucle foreach.
verif_compo.php :
Merci de votre aide et de vous pencher sur mon problème.
je suis en train de programmer un jeu de cyclisme en php et mysql.
Je bute sur une difficulté pour insérer dans une table mysql, les resultats d'une selection de n checkbox.
( n étant different d'une course à l'autre). ( il s'agit du nb de coureurs selectionné pour la course.
J'ai mis au point un requete qui me permet d'afficher les coureurs de l'équipe disponible pour une course :
Code:
<?php
...
// la requête SQL
$sql = "SELECT id_coureur, nom, prenom, nation, age FROM coureur WHERE initiale='$equipe' $condition";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// nb de ligne
$res = mysql_numrows($req);
// on verifie si des coureurs sont dispo.
if ($res==0)
{echo'Aucun coureur ne peut être selectionné pour cette course';}
// On cree une ligne et un bouton checkbox pour chaque coureur :
else {
echo'<form method="post" action="verif_compo.php"> ';
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{ extract ($data);
echo '
<center><b><input type="checkbox" name="choix[]" value=" '.$data['id_coureur'].' "> '.$data['prenom'].' '.$data['nom'].' <i><font size=1>n° ID '.$data['id_coureur'].'</font></i></b></center>
<br>';
}
echo"<input type = 'hidden' name='course' value='$course'>";
echo' <center><input type="submit" value="envoyer la compo"></center>';}
?>
Voilà pour la première partie.
Je post donc la selection de coureur vers verif_compo.php
Je demande l'affichage de la selection et je n'ai pas de pbm, grace à une boucle foreach.
verif_compo.php :
Code:
<?php
...
// on recupère les infos.(session est ouvert)
$equipe = $_SESSION['initiale'];
$course=$_POST['course'];
foreach($_POST ['choix'] as $champs=> $valeur)
{
// $n permet de compter le nb de coureurs selectionnés et de vérifier que ca ne dépasse pas la limite ( exprimé par $nbcoureur)
$n=$n+1;
if ($n<=$nbcoureur)
{
$sql = "SELECT nom, prenom,id_coureur FROM coureur WHERE id_coureur=$valeur ";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
echo "<center>$n - ";
echo' '.$data['prenom'].' '.$data['nom'].' '.$data['id_coureur'].' </center><br>';
// jusque là ca tourne j'arrive à afficher ma selection.
[b]// mais ici j'aimerai intergrer une requete : INSERT into 'compo' VALUES (nom de la course, nom de l'équipe, nom, prenom, id_coureur n°1, id_coureur n°2, ..., id_coureur n°9)
// et je n'arrive pas j'ai fait de nombreuses tentatives de codes avec INSERT et UPDATE,
// je n'arrive pas à exprimer cette requete.
// Le but étant d'integrer dans cette table compo l'ensemble des compositions des équipes pour une course donnée.[/b]
}
else {echo "trop de coureurs ont été cochés, seuls ces $nbcoureur seront retenus.";}
}
Merci de votre aide et de vous pencher sur mon problème.