הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 04-06-07, 08:01   # 1
4ior
חבר וותיק
 
4ior's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,451

4ior לא מחובר  

תגידו זה יעיל?(קטגוריות)

היה לי משעמם, אז חשבתי על כל מיני דרכים למצוא סאב קטגוריות, אחת מהדרכים היא זאת:
PHP קוד:
function print_subs($id,$i){
    
$sql="SELECT * FROM `category` WHERE `pid`='".$id."'";
    
$result=mysql_query($sql) or die(mysql_error());
    if(
mysql_num_rows($result)>0){
        while(
$row=mysql_fetch_array($result)){
            for (
$x=0;$x<$i;$x++) echo "-";
            echo 
$row['title']."<br />";
            
print_subs($row['id'],$i+1);                    
        }
    }

רקורסיה פשוטה, בשביל לקרוא לה אני פשוט כותב print_subs(0,0);
עשיתי אותה תוך דקה בערך, ואני יודע שיש כאן הרבה שאילתות.
אבל זה דיי יעיל לא?

Last edited by 4ior; 04-06-07 at 08:03..
  Reply With Quote
ישן 04-06-07, 09:07   # 2
O-B
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: בבית
גיל: 35
הודעות: 1,423
שלח הודעה באמצעות ICO אל O-B

O-B לא מחובר  

למה ה-for?
תשתמש ב:
PHP קוד:
echo str_repeat("-"$i); 
__________________
בברכה עובד, מפתח אתרים.
  Reply With Quote
ישן 04-06-07, 09:30   # 3
HagaiA
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Apr 2006
גיל: 33
הודעות: 605

HagaiA לא מחובר  

כמובן שזה יעיל ליצור פונקציות מוגדרות מראש מכיוון שבמקום לכתוב את הקוד כל פעם אתה פשוט עושה קורא לפונקציה עם הערכים שלה,ואני בהחלט מחזק את דעת O-B,אתה סתם הוספת FOR.
__________________
חגי אבישר - פיתוח מערכות מידע ואפליקציות אינטרנט.
  Reply With Quote
ישן 04-06-07, 09:37   # 4
4ior
חבר וותיק
 
4ior's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,451

4ior לא מחובר  

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

אני מדבר על הקוד אם הוא יעיל מבחינת זמן ריצה למשל, או שאפשר לעשות את זה עם פחות שאילתות, פתאום עלה לי רעיון לעשות את זה עם שתי שאילתות, אני ינסה ויכתוב כאן אם אני יצליח.
  Reply With Quote
ישן 04-06-07, 09:48   # 5
HagaiA
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Apr 2006
גיל: 33
הודעות: 605

HagaiA לא מחובר  

אתה יכול לעשות שזה יופנה לכל השאילתות שתרצה ע"י זה שהשאילתה תהיה גם ערך בפונקציה וכך זה יפעיל את השאילתה שאתה רוצה בכל פעם ובקשר לתוכן של הWHILE,
תוכל לעשות שהוא יכתוב אותו רק אם $access == "1" למשל וכך תוכל לחסוך במשאבים.
__________________
חגי אבישר - פיתוח מערכות מידע ואפליקציות אינטרנט.
  Reply With Quote
ישן 04-06-07, 12:26   # 6
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 32
הודעות: 4,086

BlueNosE לא מחובר  

תשלוך הכל בשאילתא אחת, ותכניס לתוך מערך שבתוכו יהיה את המידע..
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
ישן 04-06-07, 14:09   # 7
O-B
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: בבית
גיל: 35
הודעות: 1,423
שלח הודעה באמצעות ICO אל O-B

O-B לא מחובר  

ציטוט:
נכתב במקור על ידי BlueNosE צפה בהודעה
תשלוך הכל בשאילתא אחת, ותכניס לתוך מערך שבתוכו יהיה את המידע..
תוכל להסביר את עצמך יותר טוב?
היתי רוצה גם לדעת..
__________________
בברכה עובד, מפתח אתרים.
  Reply With Quote
ישן 04-06-07, 14:31   # 8
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 32
הודעות: 4,086

BlueNosE לא מחובר  

PHP קוד:
$I = array();
$DB->Query("SELECT * FROM items_source");
    while (
$q $DB->Fetch())
    
$I[$q['id']] = $q
אני חושב שאפשר להבין מפה מה עשיתי, אח"כ השליפה מתבצעת ע"י לקיחת נתונים מהמערך הזה.
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
ישן 04-06-07, 14:38   # 9
LosNir
מתאורר / יצא בחוץ
 
LosNir's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ראשון לציון
גיל: 32
הודעות: 2,686
שלח הודעה באמצעות ICO אל LosNir שלח הודעה באמצעות MSN אל LosNir

LosNir לא מחובר  

ציטוט:
נכתב במקור על ידי BlueNosE צפה בהודעה
PHP קוד:
$I = array();
$DB->Query("SELECT * FROM items_source");
    while (
$q $DB->Fetch())
    
$I[$q['id']] = $q
אני חושב שאפשר להבין מפה מה עשיתי, אח"כ השליפה מתבצעת ע"י לקיחת נתונים מהמערך הזה.
אהבתי
  Reply With Quote
ישן 04-06-07, 17:00   # 10
Eran-s
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 2,609

Eran-s לא מחובר  

ציטוט:
נכתב במקור על ידי BlueNosE צפה בהודעה
PHP קוד:
$I = array();
$DB->Query("SELECT * FROM items_source");
    while (
$q $DB->Fetch())
    
$I[$q['id']] = $q
אני חושב שאפשר להבין מפה מה עשיתי, אח"כ השליפה מתבצעת ע"י לקיחת נתונים מהמערך הזה.
השורה ה-4 צריכה להיות אם הבנתי נכון מה אתה מנסה להציג.
PHP קוד:
$I[$q['id']][] = $q
כמו שרותם אמר, JOIN הוא הפתרון היעיל ביותר לבעיה זו.
__________________
מפתח ומתחזק אתרים.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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