Bonjour,

Je vous explique mon problème. Merci à celui qui pourra m'aider. Je dois créer un site pour gérer une course automobile. J'ai une liste de participants et je dois affecter chacun d'entre eux à une voiture, le nombre maximum de participants par voiture ne devant pas dépasser 8.

Dans ma base de données, j'ai une table participants où je stocke les informations relatives à chaque participant, y compris le nom de la voiture qui lui est affectée. Une autre table, voitures où je stocke les informations relatives à chaque voiture, y compris le nombre total de participants qui lui sont affectée.

Je voudrais via ce formulaire faire l'affectation des voitures aux participants via un champ select pour chaque participant qui ne m'afficherait que les voitures que je peux encore exploiter et sans avoir à recharger la page après chaque modification d'un select.

Je sais que c'est possible via ajax ou javascript mais toutes les solutions que j'ai essayées ne marchent pas.

Voici mon code qui fonctionne bien mais qui ne supprime les voitures remplies qu'une fois je soumets le formulaire
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<!DOCTYPE html>
<html dir="ltr" lang="fr-fr">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>Organisateur</title>
</head>
<body>
<?php
include("database.php");
?>
<?php
if(isset($_POST['txt_id']))     { $txt_id=$_POST['txt_id']; $txt_voiture=$_POST['txt_voiture'];
for($n=1;$n<=count($txt_id);$n++){
$txt_id=$_POST['txt_id'];
$txt_voiture=$_POST['txt_voiture'];
$voiture1=$txt_voiture[$n];
$id=$txt_id[$n];
$r = mysql_query("SELECT voiture from participants where id='".$id ."'");
$total = mysql_result($r,0);
if ($total!=$voiture1)
{
$req = mysql_query("update participants set voiture='".$voiture1."' where id='".$id ."'");
$req1 = mysql_query("update voitures set nbre=nbre+1 where nom='".$voiture1 ."'");
}
if ($total!="select" and $total!=$voiture1)
{
$req2 = mysql_query("update voitures set nbre=nbre-1 where nom='".$total ."'");
}
 
}}
else      $txt_id=0;
?>
 
<div align="center"> 
<?php
    $select = 'SELECT id,nom,societe, pays, voiture FROM participants';
    $result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
    if($total) {
                        echo "<form id='pp' action='courses.php' method='POST' >";
                echo '<table bgcolor="#FFFFFF" cellpadding="10px">'."\n";
            echo '<tr>';
            echo '<th><b>ID</b></th>';
            echo '<th><b>Nom</b></th>';
                echo '<th><b>Société</b></th>';
                        echo '<th><b>Pays</b></th>';
                echo '<th><b>Voiture</b></th>';
                echo '</tr>'."\n";
      $result9 = mysql_query("SELECT * from participants");
      while($row9 = mysql_fetch_array($result9)) {
      $id = intval($row9['id']);
      $nom = stripslashes($row9['nom']);
      $societe = stripslashes($row9['societe']);
      $pays = stripslashes($row9['pays']);
          $voiture = stripslashes($row9['voiture']);
          $res_voiture=mysql_query("SELECT nom FROM voitures WHERE nbre<8 AND nom!='$voiture'") or die ('Erreur : '.mysql_error());
      echo "<tr><td bgcolor='#eee' align='center'><INPUT type=hidden name=\"txt_id[$id]\" value=\"$id\">$id</td>";
          echo "<td bgcolor='#eee' align='center'><INPUT type=hidden name=\"txt_nom[$id]\" value=\"$nom\">$nom</td>";
      echo "<td bgcolor='#eee' align='center'><INPUT type=hidden name=\"txt_societe[$id]\" value=\"$societe\">$societe</td>";     
      echo "<td bgcolor='#eee' align='center'><INPUT type=hidden name=\"txt_pays[$id]\" value=\"$pays\">$pays</td>";      
      echo "<td bgcolor='#eee' align='center'>";
     echo "<select style='width:100px;' name='txt_voiture[$id]' id='txt_voiture[$id]'>";
         if ($voiture!="")
                echo"<option>$voiture</option>";
         else
                echo"<option>select</option>";
                
        while ($row=mysql_fetch_array($res_voiture)) 
         { 
         echo "<option>$row[0]</option>"; 
         } 
     echo "</select>";
 echo "</td></tr>";      
 
}
                echo '<tr>';
        echo '<td></td>';
        echo '<td></td>';
        echo '<td align="center"><input type="submit" name="Submit" value="Modifier"></td>';                    
        echo '</tr>'."\n";
        echo '</table></form>'."\n";
    }
    else echo 'Pas d\'enregistrements dans cette table...';
    mysql_free_result($result);
    ?>
</div>
</body>
</html>