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

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

stel222 12-06-08 13:41

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

Ron | CSite.co.il 12-06-08 13:56

אתה בונה את הטבלאות במסד כך:
טבלת קטגורייות ראשיות:
איידי קטגורייה|שם קטגוריה

טבלת קטגוריות משניות:
איידי קטגורייה משנית|שם קטגוריה משנית|איידי קטגוריה שהיא שייכת להם


ואז כדי להוציא את כל הקטגוריות המשניות של קטגורייה מס' 1 לדוגמא את עושה כך:
SELECT * FROM `CatgoryMehsni` WHERE IdCatgory='1'

כמובן שאתה יכול לעשות שקטגורייה משנית אחת יכולה להיות שייכת למס' קטגוריות ראשיות,
בכך שתפריד את הערכים ב"איידי קטגוריה שהיא שייכת להם" בפסיקים ואז תחלץ אותם בעזרת explode.

daMn 12-06-08 14:43

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

stel222 13-06-08 04:49

ציטוט:

נכתב במקור על ידי daMn (פרסם 641310)
מֵמספר קטגוריות, מֵמספר תת קטגוריות(עמודה אחת למספר הקטגוריה).
שאתה מעוניין לשלוף מתוך קטגוריה את כל התת קטגוריות שלה, אתה עובר על טבלת התת קטגוריות ובודק אם לתת קטגוריה יש עמודה שבה מספר הקטגוריה שווה למספר הקטגוריה שאתה מעוניין להוציא ממנו.
בהצלחה.

הצלחתי תודה לכם על העזרה.
עכשיו יש לי עוד שאלה

נגיש שאני רוצה ליצור סאב קטגוריה לסאב קטגוריה ככה בלי הגבלה איך עושים את האפשרות הזאת?<

daMn 13-06-08 12:19

ציטוט:

נכתב במקור על ידי stel222 (פרסם 641480)
הצלחתי תודה לכם על העזרה.
עכשיו יש לי עוד שאלה

נגיש שאני רוצה ליצור סאב קטגוריה לסאב קטגוריה ככה בלי הגבלה איך עושים את האפשרות הזאת?<

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

AlmogBaku 13-06-08 13:20

מיותר



פשוט תעשה עמודה בשם relation שתכיל את ה ID שאליה היא שייכת, אם ריק זו קטגוריה ראשית.

בדף הקטגוריות היא תחפש את כל הקטגוריות שהריליישן שלהם שווה לID שלה.

ככה אפשר ליצור 100 תתי קטג'..

stel222 13-06-08 13:39

ציטוט:

נכתב במקור על ידי Baku (פרסם 641524)
מיותר



פשוט תעשה עמודה בשם relation שתכיל את ה ID שאליה היא שייכת, אם ריק זו קטגוריה ראשית.

בדף הקטגוריות היא תחפש את כל הקטגוריות שהריליישן שלהם שווה לID שלה.

ככה אפשר ליצור 100 תתי קטג'..

אתה יכול לפרט טיפה יותר ?

AlmogBaku 13-06-08 14:25

מאוד ברור

אתה יוצר טבלאה אחת של קטג', בתוכה שדה של "שייכות"- השדה הזה יכיל את מס' הקטג' אליה היא שייכת.

שייכות 0 = קטג' ראשיות(שדה ID 2)
שייכות 2 = תת קטג' לקטג ID 2(שדה 80)
שייכות 80 = תת קטג' לקטג' ID 80

stel222 13-06-08 17:16

אני לא מצליח להדפיס את זה על המסך
זה הקוד
PHP קוד:

    $result mysql_db_query($database"select * from downloads_category") or die(mysql_error());
  
    while (
$row=mysql_fetch_array($result)) {
        echo 
"<table>";
        
$cid $row['cid'];
        echo 
"<td>- </td>";
        echo 
"<td>".$row['title']."</td>";
        echo 
"<tr>";
        
$result2 mysql_db_query($database"select * from downloads_sub_category where cid = '" $cid "'") or die(mysql_error());
            
        while (
$row2=mysql_fetch_array($result2)) {
                if (
$row2['relation'] == '0')
                {
                echo 
"<td> <a href=\"index.php?act=Downloads&op=List&cid=".$row['cid']."&sid=".$row2['sid']."\">".$row2['title']."--</a></td>";
                }
                if (
$row2['relation'] != '0')
                {
        
$result3 mysql_db_query($database"select * from downloads_sub_category where sid = '" $row2['sid'] . "' and relation > '0'") or die(mysql_error());
while (
$row3=mysql_fetch_array($result3)) {
                    echo 
"<td>".$row3['title']."</td>";
                }
}
echo 
"<tr>";
        }



במסד יש לי 2 טבלאות אחת
של הקטגוריות ואחת של התת קטגוריות
הid של הקטגוריות הוא cid
הid שך התת קטגוריות הוא sid
הid של התת תת קטגוריות הוא relation
פשוט לא נותן זה מראה קטגוריות ותת קטגוריות כמו שצריך אבל תת תת קטגוריות זה לא מראה זה מראה רק את התת תת קטגוריה מראשונה שיש לה relation יותר מ0

AlmogBaku 13-06-08 17:20

האלגוריתם שלך לא נכון!..

אתה צריך לעשות ככה:
עמוד ראשי-
select ... where relation=0

קטגוריה-
ID של קטגוריה מסומן כ $cat_id

select ... where relation=$cat_id


דוגמא להצגת כל הקטגוריות
PHP קוד:

function show_catagories($relation=0$prefix="") {
    
$result mysql_query("SELECT * FROM `prefix_catagories` WHERE `realation`=" $relation);
    while(@(
$row mysql_fetch_array($result))) {
        echo 
$prefix $row['name'] . "<br />";
        
$newPrefix=$prefix "  ";
        
show_catagories($row['id'], $newPrefix);
    }
}
show_catagories(); 



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

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