Bonjour à tous.


J'ai actuellement un script qui me permet de saisir les informations de chaque participant à un jeu.

Parmi ces informations l'on peut inscrire cette personne dans maximum 20 ligues, donc des que j'ouvre la fiche d'un joueur j'ai mon script qui créé les 20 lignes.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 
$joueur=@$_GET['joueur']; 
 
$res_ligue = mysql_query("SELECT * FROM `".$sufftable."dem_ligue` where idJOUEUR='$joueur' order by nbligue asc");
for ($i = 2; $i <= 20; $i++) 
{
$res_nbligue = mysql_query("SELECT * FROM `".$sufftable."dem_ligue` where idJOUEUR='$joueur' and nbligue ='$i'");
$nb=mysql_num_rows($res_nbligue );
if ($nb==0){$modif=mysql_query("INSERT INTO `".$sufftable."dem_ligue` (`idJOUEUR`,`nbligue `) VALUES ('$joueur','$i')");}
}

Alors que dans mon admin PHP j’utilise un nombre aléatoire de lignes sans jamais savoir combien à l'avance mais toujours max 20.

La premier ligne est affichée, les autres sont cachées et s'affichent en cliquent sur un plus en queue de ligne.

Code : 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
 
													echo '<div class="form-group normal">
														<div class="col-sm-1">Ligue</div>
														<div class="col-sm-1">niveau</div>
														<div class="col-sm-1-1">points</div>
														<div class="col-sm-1-1">Infos/CP</div>
													</div>';	
													$res_ligue = mysql_query("SELECT * FROM `".$sufftable."dem_ligue` where idJOUEUR='$joueur' order by nbligue asc");
													for ($i = 2; $i <= 20; $i++) 
													{
													      $res_nbligue = mysql_query("SELECT * FROM `".$sufftable."dem_ligue` where idJOUEUR='$joueur' and nbligue ='$i'");
													      $nb=mysql_num_rows($res_nbligue );
													      if ($nb==0){$modif=mysql_query("INSERT INTO `".$sufftable."dem_ligue` (`idJOUEUR`,`nbligue `) VALUES ('$joueur','$i')");}
													}													
													while($clligue = mysql_fetch_array($res_ligue , MYSQL_ASSOC))
													{
													      $nbligue =$clligue ['nbligue'];
													      if ($clligue ['nomligue'] =="1"){$ncl_nomligue="Bronze";}
													      if ($clligue ['nomligue'] =="2"){$ncl_nomligue="Argent";}
													      if ($clligue ['nomligue'] =="3"){$ncl_nomligue="Or";}
                                                                                                             $niveauligue=$clligue ['niveauligue'];
                                                                                                             $pointsligue=$clligue ['pointsligue'];
                                                                                                             $infosligue=$clligue ['infosligue'];
 
													echo '  	
													<div name="divligue_'.$nbligue.'" id="divligue_'.$nbligue.'">
 
														<div class="col-sm-1"><select name="nomligue_'.$nbligue.'" id="nomligue_'.$nbligue.'" onchange="envoi_ligue(\'nomligue_'.$nbligue .'\','.$joueur.',.$nbligue .');" ><option disabled>Organisme</option>';if ($clcred['credracsoc']<>''){echo '<option value="'.$clligue['credracsoc'].'" selected="selected">'.$ncl_nomligue.'</option>';} echo '<option value=""></option>'; require ('liste_ligue.php');echo '</select></div>
 
														<div class="col-sm-1"><div id="niveauligue_'.$nbligue.'" style="'; if ($clligue['niveauligue']=="10"){echo 'display:none';}echo '"><input type="text"  id="niveauligue_'.$nbligue.'" name="niveauligue_'.$nbligue.'" value="'.$clligue['niveauligue'].'" onblur="envoi_ligue(\'niveauligue_'.$nbligue.'\','.$joueur.','.$nbligue.')" ></div></div>
 
														<div class="col-sm-1"><div id="pointsligue_'.$nbligue.'" style="'; if ($clligue['pointsligue']=="10"){echo 'display:none';}echo '"><input type="text"  id="pointsligue_'.$nbligue.'" name="pointsligue_'.$nbligue.'" value="'.$clligue['pointsligue'].'" onblur="envoi_ligue(\'pointsligue_'.$nbligue.'\','.$joueur.','.$nbligue.')" ></div></div>
 
														<div class="col-sm-1"><div id="infosligue_'.$nbligue.'" style="'; if ($clligue['infosligue']=="10"){echo 'display:none';}echo '"><input type="text"  id="infosligue_'.$nbligue.'" name="infosligue_'.$nbligue.'" value="'.$clligue['infosligue'].'" onblur="envoi_ligue(\'infosligue_'.$nbligue.'\','.$joueur.','.$nbligue.')" ></div></div>
														';
														$i=$nbcred + 1;
														echo '
														<div class="col-sm-1-1"><span style="float:right;"><a href="javascript:;" onclick="document.getElementById(\'divligue_'.$i.'\').style.display = \'block\'"><b>+</b></a></span></div>														
													</div>';
													}
Chaque info tapée dans un champ d'une ligne est envoyée via une fonction javascript qui traite l'info en ajax et retourne un CSS sur le champ pour montrer que l'inf a été enregistrée.

Le problème est le suivant, pour chaque joueur j'enregistre à a chaque fois mes 20 lignes de codes dans ma base même si au final j'en utilise que 2 ou 3.

Quel serait le moyen pour alléger ce genre d'utilisation s'il vous plait.

Merci pour votre aide
Olivier