שלח תשובה

זירת השאלות

363
צפיות
2
תשובות

בעיה בשליפה אקראית מה-DB

,‏ 2 באוגוסט, 2004

שלום לכולם!

יש לי פה איזו בעיונת עם השליפה האקראית מה-DB. מה שאני רוצה זה שליפה אקראית של ציטוט ומספר של "יוצר" הציטוט מטבלה אחת ושם של ה"יוצר" מטבלה אחרת איפה שמספר ה-ID של "היוצר" שווה למספרו שבטבלת הציטוטים. זה הקוד בו אני משתמש:


<%
dim connQuote
set connQuote=Server.CreateObject("ADODB.connection")
connQuote.open "dsn=mydsn"

dim rsQuote, sqlQuote, rnd_num, quote_text, quote_author
set rsQuote=Server.CreateObject("ADODB.recordset")
sqlQuote="SELECT quotes.quote_id, quotes.quote_text, quotes.quote_author, quotes_authors.author_id, quotes_authors.author_name FROM quotes INNER JOIN quotes_authors ON quotes.quote_author = quotes_authors.author_id"
rsQuote.Open sqlQuote, connQuote,3,1

quote_author=rsQuote("author_name")

Randomize
rnd_num = int(rsQuote.RecordCount * rnd())
rsQuote.Move(rnd_num)

Response.Write "<span class=’submit-recipe-header’>" & "Random quote:<BR>" & "</span>"
Response.Write rsQuote(1) & " – " & quote_author
Response.Write "<BR><BR>"


rsQuote.Close
set rsQuote=nothing
connQuote.Close
set connQuote=nothing
%>


מה שיוצא לי זה שאכן נשלף ציטוט אקראי אחד, הוא משתנה בריענון הדף, אך "היוצר" תמיד נשאר אותו אחד, הראשון שמופיע בטבלת היוצרים.

איך אני יכול לגרום לכך שיופיע שמו של "היוצר" ליד הציטוט שלו???

תודה רבה מראש!

תגיות:

2 תשובות

  1. זהר פלד הגיב:

    הממ…
    נתחיל בזה שאתה שולף את כל הרשומות מה DB ולא רשומה בודדת.
    ונמשיך בזה שאתה מקבל תמיד את אותו "יוצר" בגלל שאתה נותן ערך למשתנה מה recordset לפני שאתה מעביר את הסמן לשורה אקראית…
    במקום

    quote_author=rsQuote("author_name")

    Randomize
    rnd_num = int(rsQuote.RecordCount * rnd())
    rsQuote.Move(rnd_num)

    תכתוב

    Randomize
    rnd_num = int(rsQuote.RecordCount * rnd())
    rsQuote.Move(rnd_num)
    quote_author=rsQuote("author_name")

  2. יגאל55555 הגיב:

    אכן זו היתה הטעות…
    תודה רבה על העזרה, עכשיו זה עובד נהדר!

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!