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

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

mayden 06-08-07 15:02

[PHP] צריך עזרה בנושא טריווויה
 
היי,
הידע שלי בPHP הוא סביר+- והחלטתי לעשות טריוויה.

אני צריך עזרה בSQL באופן כללי, לדוגמא איך לעשות את זה?
6 שדות: ID, question, first,second,third,fourth, correct
question תהיה השאלה, הארבעה יהיו התשובות ו correct תהיה התשובה הנכונה?

וגם איכשהו אני צריך לעשות שיהיה לי כמה "קטגורייות" של טריוויה, לדוגמא: אני עושה היום טריוויה אני מוסיף שאלות ואז מחר אני רוצה לעשות עוד טריוויה שלא תהיה קשור לראשונה. אז איך בערך אני עושה את זה? אני עושה עוד טבלה בSQL?

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

תודה.. |לב|

Level-Serv 06-08-07 15:13

אתה יכול לעשות טבלה נוספת של טריויות. כלומר תוכל לפתוח טריוויה ולכל טריוויה לפתוח שאלות. לאחר מכן להוסיף שדה T_ID (טריוייה ID) בטבלה של השאלות, וכך תידע מה הם השאלות המשותפות לאותה טריוויה.

mayden 06-08-07 15:22

ציטוט:

נכתב במקור על ידי Level-Serv (פרסם 537077)
אתה יכול לעשות טבלה נוספת של טריויות. כלומר תוכל לפתוח טריוויה ולכל טריוויה לפתוח שאלות. לאחר מכן להוסיף שדה T_ID (טריוייה ID) בטבלה של השאלות, וכך תידע מה הם השאלות המשותפות לאותה טריוויה.

אה גם רעיון טוב אני אתחיל לעבוד עליו עכשיו נראה לאן זה יילך, תודה :)

עריכה: עכשיו ניסיתי ויש בעיה, תקן אותי אם אני טועה אבל אין אפשרות לעשות פעמים auto_increment בSQL. ניסיתי וזה מציג לי שגיאה.

Level-Serv 06-08-07 21:14

ציטוט:

נכתב במקור על ידי mayden (פרסם 537087)
אה גם רעיון טוב אני אתחיל לעבוד עליו עכשיו נראה לאן זה יילך, תודה :)

עריכה: עכשיו ניסיתי ויש בעיה, תקן אותי אם אני טועה אבל אין אפשרות לעשות פעמים auto_increment בSQL. ניסיתי וזה מציג לי שגיאה.

אממ.. על פי מה שאני יודע אין אפשרות לעשות auto_increment לשתי שדות שונים באותה טבלה.

בשביל מה אתה צריך את זה?

4ior 07-08-07 07:15

אבל למה להגביל את עצמך?
אסור לך אף פעם להגביל את עצמך, כי אם תרצה לשנות בעתיד, זאת תהיה בעיה.
פשוט תעשה 4 טבלאות:
questions
qid title cid
answers
aid title correct qid
categories
cid title
user
qid uid aid


qid= האידי של השאלות
cid= האידי של הקטגוריות
aid= האידי של התשובה
uid= האידי של המשתמש

DCB 07-08-07 07:21

4ior נסחפת מה 4 טבלאות בשביל טריוויה?
ואיזה משתמש על מה אתה מדבר? :)

טבלא אחת
id מספר מזהה לשם עבודה עם הכל
type - 1,2,3
1 - שאלה
2 - תשובה
3 - תשובה נכונה
q_id - רק לתשובות תרשום את הid של השאלה שהתשובה שייכת לה

ואז העבודה עם זה פשוטה
שלוף את כל השורות שה-type שלהם שווה 1
כלומר להוציא את כל השאלות
ואז לכל שאלה תריץ לולאה שתוציא את כל התשובות שהערך q_id
שווה למספר של השאלה... (מומלץ להוציא בצורה רנדומלית)

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

4ior 07-08-07 15:52

ציטוט:

נכתב במקור על ידי DCB (פרסם 537429)
4ior נסחפת מה 4 טבלאות בשביל טריוויה?
ואיזה משתמש על מה אתה מדבר? :)

טבלא אחת
id מספר מזהה לשם עבודה עם הכל
type - 1,2,3
1 - שאלה
2 - תשובה
3 - תשובה נכונה
q_id - רק לתשובות תרשום את הid של השאלה שהתשובה שייכת לה

ואז העבודה עם זה פשוטה
שלוף את כל השורות שה-type שלהם שווה 1
כלומר להוציא את כל השאלות
ואז לכל שאלה תריץ לולאה שתוציא את כל התשובות שהערך q_id
שווה למספר של השאלה... (מומלץ להוציא בצורה רנדומלית)

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

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

mayden 08-08-07 12:41

לא כ"כ הבנתי ממה שאמרתם..

בעיקרון חשבתי גם על:
טבלה אחת cats
טבלה שנייה trivia

בטבלה הראשונה יהיה t_id, lock ומה עוד?

lock = שהטריוויה תהיה סגורה.
ועכשיו בטבלה השנייה trivia:
id
question
ans1
ans2
ans3
ans4
correct

ואיך אני מתאים את הטריוויה לCATS?

4ior 08-08-07 13:08

תראה, אם מה שאתה רוצה לעשות זה דבר כזה:

_____________________________

טריוויה כדורגל
-מתי נבחרת ישראל הגיע למונדיאל(עד 2010)?
א. 2002
ב. 1994
ג. 1970
ד. 1982

-איזו קבוצת כדורגל בארץ ניצחה את מנצסטר יונייטד במשחק רשמי?
א. בית"ר ירושלים
ב. הפועל פתח-תקווה
ג. הפועל תל-אביב
ד. מכבי תל-אביב
ה. מכבי חיפה

_____________________________

אז תשמש בשיטה שלי. כמו שאתה רואה יש כאן 2 שאלות, בתוך קטגוריה ולשאלות יכולות להיות אינסוף תשובות(או יותר מ4-דוגמה שאלה 2)

עכשיו למקרה הנ"ל, המסד יסודר ככה:
  • questions
    • qid
    • title
    • cid
      • 1
      • מתי נבחרת ישראל הגיע למונדיאל(עד 2010)?
      • 1
  • answers
    • aid
    • title
    • correct
    • qid
      • 1
      • 2002
      • 0
      • 1
      • 2
      • 1994
      • 0
      • 1
      • 3
      • 1970
      • 1
      • 1
      • 4
      • 1982
      • 0
      • 1
  • categories
    • cid
    • title
      • 1
      • טריוויה כדורגל

זאת דוגמה לסידור הטבלה לשאלה 1..אתה אמור להבין מה לעשות בuser לבד..

mayden 08-08-07 13:38

אוקיי, תודה רבה הבנתי פחות או יותר. |לב|


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

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