![]() |
בעיה עם סידור לפי דירוג
שלום
אני מנסה לעשות בחירה של 2 משפטים שהכי הרבה אנשים הצביעו להם וגם הדירוג שלהם הכי גבוה. הבעיה היא שלא הצלחתי לשלב בין הטבלאות והסתבכתי. הדירוג בנוי ככה שכל פעם שמישהו מדרג את אותו הבנאדם נכנס למסד מספר הדירוג (1-5) הip של המדרג ואיזה משפט הוא דרג...וכדי להגיע אל הדירוג אני מחשב ככה: ממוצע הדירוגים חלקי מספר המדרגים. וזאת טבלה אחת. טבלה שניה היא עם כל הפרטים של המשפט (שם, אימיל המשפט וכו') עכשיו איך אני בעצם בודק מהם 2 המשפטים הכי מדורגים? |
ב SQL יש לך את הפונקציה AVG שעושה ממוצע אוטומטי
לדוגמא PHP קוד:
|
מכיר..וגם איתה ניסיתי להשתמש
אבל לא הצלחתי לעשות שזה יבחר את המשפטים עם הדירוג הכי גבוה שאותם דירגו הכי הרבה אנשים |
אמור לעבוד :
אם מחזיר שגיאה תראה מה עשית PHP קוד:
|
תעשה כמו שאני עושה :)
יש לך נגיד 5 משפטים, מישהו הצביע למשפט 3, אז אתה מוסיף למשפט3 אחד, ואתה גם מוסיף אחד לסך הכל דירוגים. ואז נגיד הצביעו: 1-2 2-3 3-0 4-5 5-0 אז יוצא לך סך הכל דירוגים: 2+3+0+5+0=10 ואז אתה מחלק... 1=20% 2=30% 3=0% 4=50% 5=0% ובהתחלה אל תהפוך לאחוזים ותבדוק מי הכי גדול........... |
ציטוט:
והשיטה שהקודם מעליך הציעה לא תעבוד כי אני לא לוקח את הדירוג מהטבלה של המשפטים אלא מטבלה של דירוג. |
אם תדביק פה את מבנה הטבלאות זה יוכל לעזור, אני לא יודע איך ה DB שלך בנוי
תראה לי מה יש בטבלאות כלומר מבחינת שמות והכל ואני אסדר לך את זה |
אוקי אז ככה
טבלת הדירוג (rank): vote - int - הדירוג (1-5) who- int - מספר המשפט שדירגו ip- varchar(15) - הip של הבנאדם שדירג id-int תמונה: http://know.co.il/rank.gif טבלת המשפטים (know): checked- text- בודק האם אישרו את המשפט name- text - שם הכותב text- text- המשפט עצמו email- text- האימיל של השולח type- text - הקטגוריה של המשפט ip- varchar(15) - הip של השולח id -int ותודה רבה לך :) |
ציטוט:
מקווה שזה מה שחיפשת. |
תוסיף לטבלה know
עוד שדה ששם יהיה כתוב כמה הצביעו למשפט הזה, כל פעם שמצביעים לו תעשה עידכון ופלוס אחד לאותו השדה. אחרי זה תעבוד עם השיטות שנתנו פה, זה מערכת סקרים סהכ .. |
כל הזמנים הם GMT +2. הזמן כעת הוא 11:41. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ