חיפושים

giladznaor

New member
חיפושים

אני כרגע כותב כמה סקריפטים לimage gallery בPHP וMySQL. אני מעוניין שלכל תמונה יהיה סעיף של הקטגוריות שאליו היא שייכת (תמונה אחת יכולה להיות שייכת למספר קטגוריות שונות), ושבאתר ניתן יהיה להציג את התמונות (בין היתר) ע"פ הקטגוריות. עכשיו, מכיוון שמספר הקטגוריות יכול להשתנות, אני החלטתי שבטבלה יהיה לכל תמונה אחת תא אחד שמכיל רשימה של כל הקטגוריות שאליו היא שייכת. שאלתי - האם יש דרך טובה יותר לייצג את המידע, והאם ניתן באמצעות mySQL לבצע חיפוש של כל התמונות השייכות לקטגוריה מסויימת בשיטה שציינתי לעיל?
 

Terminal Frost

New member
טבלת קשר

השיטה שהצעת ממש לא מומלצת, עדיף להשתמש בטבלת קשר: תעשה טבלה לקטגוריות עם הנתונים על הקטגוריות ולכל קטגוריה תן Cat_ID (מפתח ראשי) תעשה טבלה לתמונות עם נתונים על התמונות ולכל תמונה תן Img_ID (מפתח ראשי) תעשה טבלה שלישית בעלת שני מפתחות ראשיים: Cat_ID וImg_ID בהם תכניס כל קישור בין תמונה לקטגוריה. ז"א שאם תמונה בעלת Img_ID = 10 מקושרת לקטגוריה Cat_ID=1 וקטגוריה Cat_ID=2 אז אתה מכניס לטבלת הקשר שתי רשומות בהן Img_ID=10 והCat_ID ע"פ ההקשר. בהצלחה.
 

giladznaor

New member
ועוד דאלה בנושא

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

Terminal Frost

New member
mysql_insert_id()

הפונק' תחזיר לך את הID של משפט הINSERT האחרון שבוצע על הDB
 
למעלה