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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=23436)

Alter 07-06-06 19:06

תלמד לתכנת :-|
בכל מקרה:
PHP קוד:

<table cellpadding=\"4\" cellspacing=\"1\" border=\"1\" bordercolor=\"$bordercolor\" width=\"95%\" align=\"center\">
<?
categories 
mysql_query("select * from forums_cats order by id desc");  
while(@(
$cat=mysql_fetch_array($categories))) {  
    
$cat_id $cat["id"];  
    
$cat_name $cat["name"];  
    echo 
"<tr align=\"center\">
        <td width=\"100%\" class=\"title\"><b>"
$cat_name "</b></td>
    </tr>
    <tr align=\"center\">
        <td class=\"title\">&nbsp;</td>
        <td align=\"right\" class=\"title\">פורום</td>
        <td class=\"title\">הודעה אחרונה</td>
        <td class=\"title\">אשכולות</td>
        <td class=\"title\">הודעות</td>
    </tr>"

    
$sql mysql_query("SELECT * FROM forums WHERE forum_cat='$cat_id' ORDER BY forum_order") or die(sqlerror(__LINE__));  
    while(@(
$row=mysql_fetch_array($sql))) {  
        
$forum_id $row["forum_id"];  
        
$forum_name $row["forum_name"];  
        
$forum_desc $row["forum_desc"];  
        
$forum_icon $row["forum_icon"];  
        
$topics_count $row["topics_count"];  
        
$posts_count $row["posts_count"];  
        
$last_post mysql_query("SELECT * FROM topics WHERE forum_id='$forum_id' ORDER BY topic_id DESC") or die(sqlerror(__LINE__));  
        
$l mysql_fetch_array($last_post);  
        
$topic_last_post_name $l["topic_last_post_name"];  
        
$topic_last_post_time $l["topic_last_post_time"];  
        
$n mysql_num_rows($last_post);  
        
$user_query mysql_query("SELECT * FROM users WHERE username='$topic_last_post_name'") or die(sqlerror(__LINE__));  
        
$u mysql_fetch_array($user_query);  
        
$poster_id $u["id"];  
        if(
$topic_last_post_name == "admin") { $topic_last_post_name "<font color='red'>Admin</font>"; }  
        if(
$n == "") { $topic_last_post_time ""; }  
        if(
$n == "") { $topic_last_post_name "&agrave;&oacute; &ocirc;&ograve;&iacute;"; }  
        if(
$forum_icon == ""){  
        
$icon "&nbsp;";  
        }
        else {  
            
$icon "<img src=\"images/icons/$forum_icon\" border=\"0\">";  
        }  
        echo 
"    <tr align=\"center\">
        <td>$icon</td>
        <td align=\"right\"><a href=\"index.php?act=forums&op=showforum&id=$forum_id\">$forum_name</a><br>$forum_desc</td>
        <td><a href=\"index.php?act=profile&id=$poster_id\">$topic_last_post_name</a><br>$topic_last_post_time</td>
        <td>$topics_count</td>
        <td>$posts_count</td>
    </tr>"
;  
    }
}

</
table>
 </
div>
 </
div>

קוד יותר לא יעיל מזה לא תמצא בשוק.

Ran1989 07-06-06 19:54

ציטוט:

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

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

RS324 07-06-06 22:47

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

תנסה אולי להשתמש ב LEFT JOIN בשביל לצמצמם ולמיין לי GROUP BY

והדברים יהיו הרבה יותר קלים.

Alter 07-06-06 22:51

ציטוט:

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

תנסה אולי להשתמש ב LEFT JOIN בשביל לצמצמם ולמיין לי GROUP BY

והדברים יהיו הרבה יותר קלים.

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


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

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