Comment faire cette resquete - MySQL

Bonjour

j’ai une table usr (utilisateur) qui ont chacun un numero de variable d’environement windows qui leur ai propre.

Je voudrais donc , dans mon formulaire d’ajout d’utilisateur, avoir un input type select qui affiche les numero encore non utiliséde 0 à 200

Faut t’il que je fasse une boucle en php ou une requete peut faire ça ???

Merci pour vos reponses

Tu fait une recherche pour savoir les nombres qui reste, une boucle je dirai

c vrai quand y réfléchissant c’est une mauvaise idée

merci pour ta reponse

donc si je comprend bien le mieu c’est de faire une boucle de 1 a 200 avec dans cette boucle une requete qui verifi si la valeur courante est presente dans la base:

si elle l’est , on passe a la valeur suivante
si elle ne s’y trouve pas, on affiche la valeur

???

Euh nan t’es fou toi, ca fait 200 requètes SQL…
Tu peux faire un truc du genre :
SELECT id_windows FROM ta_table WHERE id_windows <= 200

Et ensuite tu boucles les résultats, ca te donne ceux déjà utilisés.

Tu peux (et surtout) prendre le problème à l’envers : tu fais une table contenant tes nombres - 0 à 200.

Dés que tu crée un utilisateur, tu retire un nombre de la table.
Dés que tu supprime un utilisateur, tu rajoute le nombre associé à l’utilisateur dans la table.

Complexité : +/- constant (empiler, dépiler ne coûtent pas super chers)

Ce qui t’évite ET la boucle ET de reprendre tous ceux qui déjà là (sachant que chopper ceux qui ne sont pas utilisés, se fait rapidement)

<select name="variable_usr" >
    	<option value="">Choix...</option>
    	<?
    	for ($variable = 1; $variable <= 250; $variable++) {
      $requete = 'SELECT COUNT(variable_usr) FROM usr WHERE variable_usr="' .$variable. '"';
      $resultat = mysql_query($requete) or die ('Requete impossible :' .$mysql_error());
      $data = mysql_fetch_assoc($resultat);
      if ($data['COUNT(variable_usr)'] == 0) {
      	echo '<option value="' .$variable. '">' .$variable. '</option>';
      }
    	}
    	?>
    	</select>

J’ai fait comme cela et ça a l’air de fonctionner correctement

c’est vraiment grave de repeter la requete 250 foie (le site c’est un intranet donc ça tourne vite)

C’est une très mauvaise habitude, si tu commences a faire 200 requètes pour un simple truc, le jour ou tu devrais faire dans le compliquer tu en feras 2000…

c’est ce qu’on dis au début … et puis un jour :sarcastic: …

Dalai > ça me rappelle la fois où le serveur SQL avait pondus un truc genre 14 milliards de requètes SQL pour les intégrations financières sur Lugix :MDR … quoique je me rappelle plus si t’étais encore là :neutre: …

Ca me dit rien ca, je devais pas être là, tout le monde sais que mon code ne comporte aucun bug :o

c’est pas un bug, c’est une feature :smiley:

en effet, t’étais plus là, vu que c’est ton PC qui servait de serveur de calcul, et que c’était le code de Patrice qui tournait [:whistle]

C’est à cause des sauts de ligne ca ^^