היי... שאלה של מתחילה, לגבי תת-תפריטים

היי... שאלה של מתחילה, לגבי תת-תפריטים

היי,
אני מקווה שזה בסדר להטריד אתכם בשאלה של מתחילים, בתקווה שאני אבין את התשובות...


אני בונה אתר פורטפוליו בPHP, אז יש לי תפריט ראשי, תת תפריט ובו קטגוריות שונות של העבודות המוצעות, ואז כשבוחרים קטגוריה - יש רשימת עבודות/לקוחות (תפריט 3) עם גלריה שמציגה את העבודות ליד. (מצורף תרשים עקרוני
)

אז בתפריט הראשון אני מריצה לולאת foreach ונותנת לקישור page_id עם הvalue לפי הID של העמוד בבסיס הנתונים. (לוקחת בעזרת משתנה ששואב מ- $_GET)
כשלוחצים על 'תיק עבודות' מועברים לעמוד אחר ושם אני מפנה מיד לקטגוריה הראשונה בתת התפריט בעזרת &work_id =1

עכשיו אני נתקלת בבעיה - איך אני מפנה מיד לתוך הלקוח הראשון בקטגוריה הראשונה? אני לא רוצה להפנות לערך מספרי קבוע למשל
customer_id=4 כי זו רשימה שכל הזמן תשתנה ואולי תחליף מספר ID ואני לא רוצה לסמוך על זה (מספיק שעשיתי את זה פעם אחת בקטגוריה הראשונה, וגם זה בעייתי)

אז שאלתי היא איך בעצם אפשר להפנות כביכול לfirst-child או משהו כזה באופן אוטומטי?
איך נהוג לעשות את זה שהפריט הראשון בתת-תפריט מיד נבחר ומגיעים אליו ישירות?

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

בשונה מהרבה שאלות לאחרונה שנראות כמו: "למה זה לא עובד לי111!!!!" אתמול זה עבד!!!!!

איך אני הייתי עושה את זה? הייתי עושה בקליינט סייד עם jquery event click על ה"תיק עבודות"
ובcallback הייתי עושה את החיפושים על הDOM למה האלמנט הראשון ברשימת הלקוחות והייתי עושה עליו click() בעזרת jquery

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


אני קצת פחות חזקה בjquery למרות שהבנתי את הרעיון עקרונית.

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

איך כדאי להריץ בדיקה כזו על הפריט הראשון בתת-תפריט? להפעיל איזה query שיביא לי את הID הרצוי למשל משו כזה:
select 'customer_id' from 'customers' where 'customer_order'=1
ואת המשתנה שיקלוט את זה אני אשתול בקישור כהפניה ישירה ללקוח הראשון...?

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

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

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

אני מניח שכרגע את עושה את הדפסת הHTML בתוך הלולאה עם הfetch או משהו

ד"א עם אילו פונקציות MYSQL את משתמשת?
 
מממ... הבנתי בערך מה כתבת חחח

אני מביאה מערך דו מימדי (אסוציאטיבי) כמו שכתבתי קודם - שאילתא עם select * from... ועושה עליו לולאת foreach שבונה לי את פריטי התפריט כ<li> בתוך <ul>.

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

נאמר שיש לי משתנה $menu שמכיל את המערך של כל הpages, אני יודעת שאפשר לפנות לשדות ולערכים שבו אבל איך לבצע חיתוך כדי להוציא למשל את הpage_id הראשון בלבד?

תודה רבה רבה שוב
 
בהנחה שהאיבר הראשון במערך מכיל את הדף הראשון

אם המערך הוא נומרי, אפשר לגשת למיקום 0 כדי לקבל את הדף הראשון.
אם הוא לא נומרי, אפשר להשתמש ב
http://www.php.net/manual/en/function.current.php
או
http://www.php.net/manual/en/function.each.php
או
http://www.php.net/manual/en/function.key.php
ואם רוצים אפשר בסוף לעשות
http://www.php.net/manual/en/function.reset.php

הכל תלוי באיך המערך שלך נראה
 
וואו תודה, נראה ממש שימושי

לא הכרתי את רוב הדברים... אני אקרא יותר לעומק ואנסה להיעזר בזה.

המון תודה ושבת שלום
 
למעלה