לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 29-08-2006, 23:13
  Depression Depression אינו מחובר  
 
חבר מתאריך: 07.08.03
הודעות: 408
.

טוב חברים יקרים, פתרתי את הבעיה, הינה הפיתרון+תוספות JS, הינה העמוד:
(תצורת העץ)
http://mamboheb.com/sell/test/vtest.php?C_ID=108
הינה הסורס של הפונקציה בלבד!:

אני אסביר את השאילת שלי, שיהיה לכם יותר קל להבין,
$Var_P_Parent מייצג את הC_ID שמתקבל מהכתובת,
השדה C_Root הוא שדה 'היסוטריה', כלומר שדה אשר מכיל את כל ההורים של הקטגוריה בסדר היררכי.
כלומר הID של כל הורה כתוב שם ומופרד בפסיקים, למשל הC_Root הזה:
0,1,30,43
אומר שהקטגוריה הספציפית הזו היא בת של קטגוריה ID 43, וקטגוריה 43 היא בת של קטגוריה 30 וכו'...

בכל אופן, השאילת מחפשת באמצעות Like בC_Root, כלומר אם זה ילד פוטנציאלי הוא יוצג כתוצאה.

בנוסף יש את התנאי C_Products >= '3'
התנאי הזה אומר שאני שולף קטגוריות ברמה 3 ומעלה, כלומר לא קטגוריות ראשיות, ולא תת קטגוריות אלה תת-תת-קטגוריה.

*כל אחד יכל לשלוף שאילת בדרך שלו, כל עוד יהיה שדה של C_ParentID שיכיל את הID של ההורה,
ושדה של ID שיכיל את הID היחודי של הקטגוריה, ובשביל נוחות C_Name שיכיל את השם של הקטגוריה.
מזה ניצור מערך ונשתמש בריקורסיה להציג את המידע
קוד PHP:
 <a href="javascript:ddtreemenu.flatten('treemenu1', 'expand')">Expand All</a> | <a href="javascript:ddtreemenu.flatten('treemenu1', 'contact')">Contact All</a>
<
ul id="treemenu1" class="treeview">
<?
php
        $query 
"SELECT * FROM categories WHERE C_Root LIKE '%,$Var_P_Parent%' AND C_Products >= '3' ORDER BY C_Order";
        
        
/*
            Used to select only filters.
            $query = "SELECT * FROM categories WHERE C_Root LIKE '%,$Var_P_Parent%' AND C_Products >= '3' ORDER BY C_Order";

            Used to select ALL cats.
            $query = "SELECT * FROM categories WHERE C_Root LIKE '%$Var_P_Parent%' ORDER BY C_Order";
        */
        
$result mysql_query($query,$database->connection);
        
        while(
$cat mysql_fetch_assoc($result)) //Create the array from the query.
        
{
            
$myCatArray[$cat['C_ParentID']][] = Array($cat['C_ID'],$cat['C_Name']);
        }
        
        
/*     
            Function that show all categorys by there order
            and there sub categorys - NO LIMIT OF SUB CATEGORYS!.
            
            INPUT - Array of categorys, parent id as Key.
            OUTPUT - The categorys like tree.
            
            By - Eldad Yamin
            Date - 29/08/2006
         */
        
        //Show cats by threding.
        
function display_cats($C_ID,$deep) { 
            global 
$myCatArray//Array of categorys.
        
            
foreach ($myCatArray[$C_ID] as $cat) {                                                         
    
                for(
$i=0$i<$deep$i++)
                {
                    echo 
"\t";
                }
                
                echo 
"<li>ID: $cat[0], Name: $cat[1]";
                if (
is_array($myCatArray[$cat['0']])) //Check if for the given category have and sub cats.
                
{    
                    echo 
"\n\t<ul>\n";
                    
display_cats($cat['0'], $deep+1);
                    echo 
"\t</ul>\n";
                }
                echo 
"</li>\n";
            } 
        } 
        
        
display_cats($Var_P_Parent,0);

?>
</ul>

<script type="text/javascript">


ddtreemenu.createTree("treemenu1", false)

</script> 

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

נערך לאחרונה ע"י Depression בתאריך 29-08-2006 בשעה 23:26.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 10:43

הדף נוצר ב 0.05 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2026 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר