שלח תשובה

זירת השאלות

362
צפיות
3
תשובות

שלום יש לי בעיה במשהו שאני מנסה לבנ

,‏ 12 במאי, 2005

לבנות, לקראת פרוייקט בגרות של בית ספר.
אני מנסה לתת אפשרות להצביע למשהו מסויים, ולהראות את ממוצע הצבעות, שאנשים הצביעו.
(בשביל ספר מסויים במקרה שלי)
אז הוספתי 3 שדות לטבלה של הספרים במסד הנתונים (אחת sum, אחת num, ואחת avr.)
שהם סכום הצבעות מספר הצבעות וממוצע.
כל אחד מהם הוא מספר ממשי. (מוגדר בטבלה.)
וניסיתי לעשות דבר כזה:


sql = "select * from books where bname='"&name&"'"


books.open sql, c, 3

books.fields("votesavr")=books.fields("sumofvotes")/books.fields("numofvotes")

books.update

כאשר לפני זה הגדרתי להעלות את num ב1, ואת sum ב sum+value כאשר את value קיבלתי ב get.. (זתומרת אני שולח את ה value שהוא ההצבעה של המשתמש לדף הזה, ומעדכן.)
אבל משהו קרה:

ה sum, וה num  מעודכנים, אבל ה avr לא.
וגם מופיעה לי הודעה של type mismath, למרות שכולם ממשיים.
כאשר החלפתי את סוג ה sum ו ה num, למספר אינטגר רגיל, הודעת השגיאה שהופיעה לאחר הרצת הדף השתנתה והייתה קשורה ל updatble query
האם אתם יכולים בבקשה לעזור לי? אולי חילקתי לא נכון??

תגיות:

3 תשובות

  1. tttt הגיב:

    עדכון-עובד אבל שוב יש בעיה
    השתמשתי בפונקציות cint וכו, ועכשיו זה מחלק אחד בשני ושומר את התוצאה ב avr אבל בצורה כזאת.
    השתמשתי בפונקציה csng (כי ה avr ממשי ושאר האחרים אינטגר…)
    אבל הוא עושה דבר כזה:
    לדוגמא יש ב sum 40 וב num 6 אז בחילוק של sum ב Num או שומר ב avr את הערך
    6…… זתומרת בלי השארית.
    למה זה קורה? איך פותרים?<

  2. tttt הגיב:

    הקפצה אודה לכם מאוד אם תענו לי
    אודה לכם מאוד אם תענו לי (אני פשוט צריך את זה לזמן הקרוב ועדיין לא מצאתי תשובה)
    תודה רבה.

  3. n0p הגיב:

    למה לשמור את הממוצע בטבלה?
    למה לא לחשב אותו כשאתה שולף את זה?


    SELECT *, (sum/num) AS avg FROM table

    לפי דעתי זה יעבוד, אבל לא בדוק.

    ובבקשה פעם הבאה לישר את הקוד לשמאל.

שלח תשובה

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

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

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

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

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