(ASP) Selection aléatoire ?

Selection aléatoire ? (ASP) - Programmation

Marsh Posté le 13-09-2001 à 08:47:07    

Salut à tous,
Comment faire une sélection aléatoire de trois "objets" dans une BDD ?
 
Je m'explique:
Je vais avoir une table produits dans laquelle je vais avoir toute une serie de champs dont un qui sera promo (oui/non).
Evidemment, il y aura + de trois produits qui auront une valeur = à "true".
Comment faire, alors, pour ne sortir de cette selection que trois poduits (aléatoirement) ??
 
Merci pour votre aide :)

Reply

Marsh Posté le 13-09-2001 à 08:47:07   

Reply

Marsh Posté le 17-09-2001 à 09:54:37    

?? :cry: ??

Reply

Marsh Posté le 17-09-2001 à 10:06:20    

essai de chercher une methode en vbscript qui te trouve une valeur par defaut , ensuite tu prend le enieme(valeur retourné du random) résultat trouvé dans ta requete , et tu fais ca 3 fois
 
ou alors directement tu calcul 3 valeurs aléatoire et tu test a chaque fois quand tu ballai le resultat de ta requete si ca correspond a une des 3 valeurs aléatoire , si c le cas tu récupère la valeur de la requete
 
voilou.

Reply

Marsh Posté le 17-09-2001 à 11:33:45    

Késaco ?

Reply

Marsh Posté le 17-09-2001 à 15:52:00    

c quel parti que tu n'a pas compris , moi pas etre trop clair je sais ;)

Reply

Marsh Posté le 17-09-2001 à 16:01:49    

En fait cela vient de mon niveau en ASP.
Je ne vois vraiment pas de quoi tu veux parler (random...)
 
Peux tu me préciser ou me donner un lien vers un site qui detail ce genre de manip ?
 
Merci à toi :)

Reply

Marsh Posté le 17-09-2001 à 16:09:31    

va voir par exemple  
http://www.dwam.net/iishelp/vbscript/htm/vbs176.htm
 
qui te donne une fonction pour calculer une valeur aléatoire
 
ensuite bin tu fais une boucle de se style
 
1) tu calcul tes 3 valeurs aléatoire
pour calculer ces valeurs aléatoires tu doit prendre en compte le nombre de champ dans ta base , pour etre sur que se nombre aléatoire tombera sur un champ de ta requete  
pour cela tu peu faire d'abord un  
select count(id_promo) .....
 
 
2)la tu fais ta requete
 
puis ensuite tu fais :
 
cpt=0
<%while not resultatrequete.EOF
if cpt=val_aleatoire then
   la tu prend la valeur , le champs le id enfin ce que tu veux récupé  
else
  bin la tu la prend pas
end if
resultatrequete.MoveNext
wend %>
 
alors c'est peut etre pas la meilleur solution mais je pense que ca marche  
 
cela dis peut etre qu'avec les record set ou jeen sais quoi d'autre ta mieux et plus rapide mais bon peu pas te dire  ;)  
 
j'espère queca t'éclairciera un peu plus  , meme si c pas l solution que tu va prendre
 
@+++

 

[edtdd]--Message édité par saxgard--[/edtdd]

Reply

Marsh Posté le 17-09-2001 à 16:22:44    

Je vais étudier ça :D
Merci bcp :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed