הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   מחפש דרך יעילה (https://hosts.co.il/forums/showthread.php?t=29098)

amirs_5 18-08-06 16:25

מחפש דרך יעילה
 
אני בונה מערכת דרוג,
ואני מחפש תטכניקה של זה ,
איך אני אמור לשמור את כל הדירוגים ?
כאילו מה הדרך הכי טובה :)
תודה לעוזרים .

ViPeRt 18-08-06 16:34

אתה עושה טבלה
id
name
s1
s2
s3
s4
s5

במידה ואתה רוצה לדרג עד 5
ואז כל פעם שמישהו מצביע ל ID מסויים נגיד הוא רוצה להצביע 4 אז אתה לוקח את התא s4 באותו ID ומעלה ב 1

מקווה שעזרתי!

נ.ב
אם אתה רוצה לשמור גם אייפי שתוכל למנוע מלהצביע יותר מפעם אחת זה כבר אחרת
אתה יוצר טבלה ככה:
id
user
vote_id
vote_number

ואז vote_number הוא מספר ההצבעה נגיד 4.
vote_id למה הצביעו
וככה יש לך את כל הנתונים!

בהצלחה

eLad 18-08-06 16:37

ציטוט:

נכתב במקור על ידי ViPeRt
אתה עושה טבלה
id
name
s1
s2
s3
s4
s5

במידה ואתה רוצה לדרג עד 5
ואז כל פעם שמישהו מצביע ל ID מסויים נגיד הוא רוצה להצביע 4 אז אתה לוקח את התא s4 באותו ID ומעלה ב 1

מקווה שעזרתי!

נ.ב
אם אתה רוצה לשמור גם אייפי שתוכל למנוע מלהצביע יותר מפעם אחת זה כבר אחרת
אתה יוצר טבלה ככה:
id
user
vote_id
vote_number

ואז vote_number הוא מספר ההצבעה נגיד 4.
vote_id למה הצביעו
וככה יש לך את כל הנתונים!

בהצלחה

לא מסכים איתך |Rolleyes|

ואם אני רוצה לאפשר דירוג מ 1 עד 10, אז אני צריך לייצר 10 שדות כאלו?

ואם דירוג מ 1 עד 100, אז 100 שדות? לא יעיל ..

RS324 18-08-06 17:05

הכי פשוט
voteid,vote,pollid

ID - זה ID של ה VOTE
vote - מספר
pollid - זה ה ID של הסקר לדוגמא
ואז אתה יוצר שאילתה פשוט
SELECT SUM (vote) AS voterate FROM pollvote WHERE pollid='$pollid'

amirs_5 18-08-06 17:06

ציטוט:

נכתב במקור על ידי RS324
הכי פשוט
voteid,vote,pollid

ID - זה ID של ה VOTE
vote - מספר
pollid - זה ה ID של הסקר לדוגמא
ואז אתה יוצר שאילתה פשוט
SELECT SUM (vote) AS voterate FROM pollvote WHERE pollid='$pollid'

אחלה , ויש לי שאלה בקשר למשאבים,
אם יהיה 100000 הצבעות , מה לא יקח לו זמן לחשב את כל ההצבעות ?

RS324 18-08-06 17:10

לא משהו קריטי.
זה הדרך הכי חכמה לעשות את זה כי אתה בעצם עושה את כל החישוב בעזרת שאילתה 1 במקום 100 שאילתות + חישובים ב PHP

MYSQL הוא שרת מאד חזק...אתם לא מודעים עד כמה פשוט.

גם אם יהיה לו 9999999999 הצבעות, אתה תקבל את התשובה בתוך שניות

meshuga 18-08-06 17:20

עריכה:
אופס, חח..חשבתי שהוא התכוון משהו אחר.

עוד עריכה:
כן, זה כן מה שהוא התכוון...
תשתמש בממוצע...בשדה אחד תשמור את מספר ההצבעות ובשני את הסכום ואז תחלק.

RS324 18-08-06 17:23

במה יעילה הדרך שלך יותר משלי ?

ד"א התבלבלתי - SUM זה סכום AVG זה ממוצע

בכל מקרה איך שלך היא יותר יעילה ? הוא צריך לעדכן 2 פרמטרים בטבלה ואחרי זה לבחור את התוצאות.

בדרך שלי הוא עושה שאילתה אחת בלבד של הוצאת נתונים
ובנוסף הוא גם יכול לעשות סטיסטיקות לדוגמא
כמה אנשים הצביעו 3
כמה אנשים הצביעו 5
וכד'

דבר שהוא לא יכול לעשות בדרך שלך...

amirs_5 18-08-06 17:27

כן הבנתי :P

יש לי עוד שאלה על דרך להתחברות?
איפה אני ישמור את הפרטים של המשתמש בקוקיז
סשן ?
או במסד נתונים ?

meshuga 18-08-06 17:28

ציטוט:

נכתב במקור על ידי RS324
במה יעילה הדרך שלך יותר משלי ?

ד"א התבלבלתי - SUM זה סכום AVG זה ממוצע

בכל מקרה איך שלך היא יותר יעילה ? הוא צריך לעדכן 2 פרמטרים בטבלה ואחרי זה לבחור את התוצאות.

בדרך שלי הוא עושה שאילתה אחת בלבד של הוצאת נתונים
ובנוסף הוא גם יכול לעשות סטיסטיקות לדוגמא
כמה אנשים הצביעו 3
כמה אנשים הצביעו 5
וכד'

דבר שהוא לא יכול לעשות בדרך שלך...

כן, אבל תחשוב לאורך זמן...אתר גדול, שיש בו אלפי מדרגים ביום, אולי השרת יוכל לעבד את זה אבל תחשוב על הנפח שהמסד יקבל על זה....ובשביל מה?..הצבעה..סטטיסטיקה עושה רק מי שממש צריך ואז הוא כן יעשה בדרך שלך, למרות שאפשר לקמבן...בכל זאת..סטטיסטיקה להצבעה...לא ממש נחוץ ב90% מהמקרים..התוצאה הסופית זה העיקר.

RS324 18-08-06 17:31

ציטוט:

נכתב במקור על ידי meshuga
כן, אבל תחשוב לאורך זמן...אתר גדול, שיש בו אלפי מדרגים ביום, אולי השרת יוכל לעבד את זה אבל תחשוב על הנפח שהמסד יקבל על זה....ובשביל מה?..הצבעה..סטטיסטיקה עושה רק מי שממש צריך ואז הוא כן יעשה בדרך שלך, למרות שאפשר לקמבן...בכל זאת..סטטיסטיקה להצבעה...לא ממש נחוץ ב90% מהמקרים..התוצאה הסופית זה העיקר.

כן אבל אם הוא חכם, אז ברגע שהוא מוחק את הסקר / או הסקר נסגר
אז באופן אוטומטי נמחקות הכל ההצבעות, ואת התוצאה הסופית הוא שומר בטבלה של הסקר לדוגמא
POLL
ואז ה DB לא גדל בכלל, והתוצאות הקיימות זה התוצאות של סקרים שהם פתוחים..

אפשר להמשיך ולשחק עם זה להרבה מאד כיוונים אבל העיקרון ברור.

לגבי AMIR_S
איזה פרטים של משתמש אתה צריך לשמור ?

eLad 18-08-06 17:31

רגע,
הוא לא ביקש מערכת דירוג? נניח דרג את הכתבה הבא מ 1 עד 5 ?

במידה וכן, סה"כ מה שיש לעשות זה להוסיף 2 עמודות לטבלה של הכתבות (אחת עבור המומצע ואחת עבור מס' הצבעות). אין אפילו צורך להשתמש בחשבון בשאילתת SQL, משתמשים בחוקי המומצע.

meshuga 18-08-06 17:41

ציטוט:

נכתב במקור על ידי eLad
רגע,
הוא לא ביקש מערכת דירוג? נניח דרג את הכתבה הבא מ 1 עד 5 ?

במידה וכן, סה"כ מה שיש לעשות זה להוסיף 2 עמודות לטבלה של הכתבות (אחת עבור המומצע ואחת עבור מס' הצבעות). אין אפילו צורך להשתמש בחשבון בשאילתת SQL, משתמשים בחוקי המומצע.

סתכל כמה הודעות לפני חבוב ;)

eLad 18-08-06 18:20

ציטוט:

נכתב במקור על ידי meshuga
סתכל כמה הודעות לפני חבוב ;)

אה, סורי.. הוא כן מדבר על דרוג. משום מה ראיתי שמדברים פה על סקרים :-0

בכל מקרה,
ציטוט:

נכתב במקור על ידי meshuga
עוד עריכה:
כן, זה כן מה שהוא התכוון...
תשתמש בממוצע...בשדה אחד תשמור את מספר ההצבעות ובשני את הסכום ואז תחלק.

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

amirs_5 18-08-06 18:40

ציטוט:

לגבי AMIR_S
איזה פרטים של משתמש אתה צריך לשמור ?
אז ככה,
יש לי במסד טבלת משתמשים ,
ID שם משתמש סיסמא , גיל , אימייל ועוד מלא פרטים אישים של משתמש...
השאלה שלי באיזה דרך הכי טוב לבצע התחברות..

עריכה :
ואם מישהו יכול לענות לי על האשכול הזה
http://www.hosts.co.il/forums/showthread.php?t=29090
שאלתי מזמן ולא ענו :(

עריכה :
יש לי עוד שאלה וחבל לי לפתוח עוד אשכול :S
אז השאלה אם יש לי
time();
במספרים, אני יכול להפוך את זה למילים בלי שימוש ב date();
?

טנקס לעוזרים.

amirs_5 18-08-06 23:49

[PHP] 2 שאלות.
 
טוב הראשונה ממש קלה,
שחכתי איך עושים מ time() ל date()
כלומר יש לי 2178312938 ואני רוצה להפוך אותו למילים..

ו... השאלה השניה , הכי חשובה זה איך אפשר ליצור תיקיייה בלי להתחבר ל FTP.

עריכה:
אופס עשיתי תגובה וחשבתי שאני מפרסם אשכול חדש חחח...=]
בקשר לנושא האשכול הזה - הסתדרתי,
ולהתחברות - עשיתי עם קוקיז.

Itay 19-08-06 00:25

ציטוט:

נכתב במקור על ידי amirs_5
טוב הראשונה ממש קלה,
שחכתי איך עושים מ time() ל date()
כלומר יש לי 2178312938 ואני רוצה להפוך אותו למילים..

ו... השאלה השניה , הכי חשובה זה איך אפשר ליצור תיקיייה בלי להתחבר ל FTP.

עריכה:
אופס עשיתי תגובה וחשבתי שאני מפרסם אשכול חדש חחח...=]
בקשר לנושא האשכול הזה - הסתדרתי,
ולהתחברות - עשיתי עם קוקיז.

time() ל-date() - אם הבנתי נכון, אתה פשוט רוצה להציג את הזמן שנשמר בפורמט של time כמו עם date.. אז אתה פשוט מכניס את זה כפרמטר השני בפונקציה, אם היית טורח להסתכל על זה ב-php.net היית מוצא את התשובה תוך שניה
PHP קוד:

$time time() + 60 60 24 30;
echo 
date("d/m/Y"$time); 

ויצירת תיקיה אתה יכול עם הפונקציה mkdir

amirs_5 19-08-06 02:10

חח תודה איתי ..
ובקשר ל"אם היית טורח להסתכל על זה ב-php.net היית מוצא את התשובה תוך שניה"
חח נכון אני ידעתי את זה רק שחכתי איך=]

ותודה כפולה :P


כל הזמנים הם GMT +2. הזמן כעת הוא 10:38.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ