בעיה במספרים אקראים.

בעיה במספרים אקראים.

אני מנסה ליצור שורה של מוצרים אקראים באתר שלי, אני לוקח מספר אקראי וניגש את מספר הID הזהה לו במסד נתונים. הכל עובד כמו שצריך ואין שגיאות, הבעיה היא שזה תמיד בוחר בין שני מוצרים כאשר המסד מכיל הרבה יותר בכל קטגוריה.
<% dim rsr(5),rst,con,y,j,rnd1 rsr(1)="products" rsr(2)="psgames" rsr(3)="players" rsr(4)="ggames" rsr(5)="pcgames" response.write("<CENTER>") randomize() response.write("<table border=0 cellspacing=40>") for j=1 to 5 set con=Server.CreateObject("ADODB.Connection") con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("products.mdb") & ";" set rst=Server.CreateObject("ADODB.recordset") rst.Open "Select * from " & rsr(j), con y=rst.recordcount rnd1 = y * rnd() + 1 rst.move rnd1 response.write("<TD valign=top align=center><img src=" & rst("PIC") & "height=80 width=80 border=2><BR>") response.write("<a href=details.asp?ID=" & rst("ID") & "&rr=" & rsr(j) & ">") response.write("<font size=2>" & rst("NAME") & "</font>") response.write("</a>") rst.close con.close next response.write("</table>") response.write("</CENTER>") set rst=nothing set con=nothing %>​
מישהו נתקל בבעיה בקוד שלי? תודה מראש!
 

darkestsoul

New member
שתי פתרונות אפשריים

ניסית לעשות randomize timer במקום ? לחילופין אתה יכול לנסות גם: select * from myTable order by newid() למרות שאני לא בטוח אם אקסס תומך בזה
 
אפשר פירוט בבקשה על האופציה הראשונה?

 

darkestsoul

New member
להלן

http://msdn2.microsoft.com/en-us/library/38d7ckek.aspx http://msdn2.microsoft.com/en-us/library/a3fb2dtc.aspx randomize timer גורם לקוד לבסס את ה seed על מספר השניות שחלפו משעה 12 בלילה (בגדול)
 
למעלה