Bonjour tout le monde,

J'ai une liste de sélection.

Dans cette liste, je permets à certains administrateurs de supprimer des valeurs.

Le problème est que quand je supprime une valeur, j'ai un blanc dans la liste déroulante car j'ai un for qui va de 1 à n (n valant le nombre d'éléments).

Si j'ai :

1,2,3,4,5 et que je supprime le 4, mon n vaudra 4 j'aurai donc 1,2,3,4 pour le for et dans ma liste 1,2,3,5.

L'ID 5 n'étant pas trouvé, j'ai une ligne blanche.

Je dois donc reconstruire la lise de sélection dans la base de données en modifiant les ID.

Pour cela, j'ai fait ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
$i=1
	while($row = mysql_fetch_array($query_select)) 
	{
		$sql_update = "UPDATE manips SET ID = ".$i;
		echo $sql_update;
		$query_sql_update = mysql_query($sql_update);
		//création de la liste déroulante des étudiants non clôturés
		$return .=$row["ID"].':"'.$row["nom_manip"].'",';
		$i++;
	}
l'écho m'informe ce message d'erreur :

<br />
<b>Parse error</b>: parse error in <b>C:\wamp\www\APK\AJAX\Supprimer_manip.php</b> on line <b>23</b><br />
La ligne 23 correspond à celle-ci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
while($row = mysql_fetch_array($query_select))
Deux questions :

1) n'y aurait-il pas une solution plus "simple" pour reconstruire les id ?
2) si la réponse à la question 1 est négative, sauriez-vous svp me dire où j'ai fait une erreur ?

Voici le code de la génération de la liste de sélection pour être complet :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
for($o=1; $o<=$count_manips;$o++)
				{
					$sql_manips = 'SELECT * FROM manips WHERE ID = '.$o;
					echo $sql_manips;
					$query_manips = mysql_query($sql_manips);
					$nombre_manips = mysql_num_rows($query_manips);
					$res_manips = mysql_fetch_array($query_manips);
					echo '<OPTION VALUE="'.$res_manips['nom_manip'].'">'.$res_manips['nom_manip'].'</OPTION>';
				}
Merci d'avance.

beegees