Forum de discussion
Forum « Programmation ASP » (archives)
Requête aléatoire en ASP
Envoyé: 10 novembre 2003, 12h40 par badseed
Voilà pour simplifier disons que j'ai une liste d'activités pour une société de 100 domaines, je voudrais dans un coin de page du site, lister une 20aine de domaines de façon complètement aléatoire (donc dans le désordre, que ça soit différent à chaque chargement de page et surtout qu'il n'y ait pas de répétition !)
Voici mon code inspiré de celui d'un script trouvé sur asp-php.net :
<!--#include file="ma_connection.asp"-->
<%
Dim NbRecord, Pos
' Définition de la requête SQL
SQL = "Select * From liste_domaines"
Recordset1.Open SQL , Connection1 , 1
' Requete vide ?
If Not Recordset1.EOF Then
' Se positionner au dernier record
Recordset1.MoveLast
' Se positionner au premier record
Recordset1.MoveFirst
' Saisir le nombre de record
NbRecord = Recordset1.RecordCount
Response.write NbRecord & "<br>"
While Not Recordset1.EOF
' Initialize random-number generator.
Randomize
' Définir la position a atteindre
Pos = Int((NbRecord * Rnd))
' Se positionner au record aléatoire
Recordset1.Move (Pos)
' Afficher le chiffre du random et le champ de la table
Response.Write "Random : " & Pos & ", "
Response.Write Recordset1("domaines_fr") & "<br>"
Wend
End If
' Fermeture du recordset
Recordset1.Close
' Fermeture de la connection
Connection1.Close
' Destruction des instances
Set Connection1 = Nothing
Set Recordset1 = Nothing
%>
J'ai quelques sorties qui s'affichent puis ça plante :
Random : 1, archéologie
Random : 0, archéologie
Random : 8, électrotechnique
Random : 2,
Erreur de compilation Microsoft VBScript error '800a0401'
Fin d'instruction attendue
error '80020009'
Une exception s'est produite.
random_liste.asp, line 34
( c'est à dire : Response.Write Recordset1("domaines_fr") & "<br>")
Comprends pas pourquoi, ni comment je peux avoir :
Random : 1, archéologie
Random : 0, archéologie
???? :-(((((
Si quelqu'un pouvait m'éclairer, merci d'avance.
Réponses
|