550
צפיות
צפיות
4
תשובות
תשובות
ספירת שורות
היי לכולם!
אני מנסה לעשות מין תיבת מסרים קטנה לאתר ואני רוצה שברגע שהמשתמש נכנס לאיזור ההודעות זה יכתוב לו כמה הודעות שלא נקראו יש לו ומתוך כמה סה"כ, כך שזה יראה משהו כזה:
Inbox (3/8)
כאשר 3 זה מספר ההודעות שלא נקראו ו-8 זה סך ההודעות שיש לו בתיבה.
הטבלה שלי בנויה משדות הבאים:
Msg_id
Msg_sender
Msg_sendee
Msg_date
Msg_title
Msg_text
Msg_loc
Msg_stat
השדה Msg_loc נועד לסמן את מיקום ההודעה:
1) ההודעה בתיבת הודעות
2) ההודעה בפח אשפה
השדה Msg_stat הוא שדה תיבת סימון:
תיבה מסומנת – ההודעה נקראה
תיבה לא מסומנת – ההודעה לא נקראה
השדה Msg_sendee צריך להיות שווה למחרוזת User_id.
מכאן והלאה אין לי מושג מה לעשות. מישהו יכול לעזור בבקשה?
תודה רבה מראש!!!
4 תשובות
לא הבנתי איפה נתקלת
אתה צריך לעשות שאילתת שליפה על כל הרשומות שנמצאות בתיבת ההודעות של אותו משתמש, ולספור כמה מסומנות כנקראו וכמה יש בכללי (count).
באיזה בסיס נתונים אתה משתמש?
תעבור על המדריך sql כאן באתר, אני בטוח שתסתדר… אם יש לך בעיה ספציפית בהרכבת השאילתא תגיד מה בדיוק וננסה לעזור.
הפונקציה COUNT
לא ממש הבנתי איך משתמשים בה… יש לי את השאילתא הרגילה לשליפת מידע:
dim rs_msg, sql_msg
set rs_msg = Server.CreateObject("ADODB.RecordSet")
sql_msg = "SELECT Msgs.Msg_id, Msgs.Msg_sender_id, Msgs.Msg_sendee_id, Msgs.Msg_date, Msgs.Msg_title, Msgs.Msg_text, Msgs.Msg_loc, Msgs.Msg_stat FROM Msgs WHERE Msgs.Msg_sendee_id=" & user_id & " ORDER BY Msgs.Msg_date DESC"
rs_msg.Open sql_msg, conn
איך עכשיו אני סופר כמה הודעות יש למשתמש הזה סה"כ וכמה מהן חדשות?
תודה רבה מראש!
שכחתי לציין שאני משתמש ב-ACCESS
השימוש הוא כזה:
SELECT COUNT(*) as TotalMessages
FROM Messages
WHERE UserID=13
SELECT COUNT(*) as NewMessages
FROM Messages
WHERE IsNew=true AND UserID=13
אתה יכול להריץ אותן בנפרד, או כתתי שאילתות.