![]() |
אתגר חדש : יעילות !
שלום אנשים ....
היום רציתי לעשות אתגר שאולי ילמד כמה אנשים, כמה דברים. רמת האתגר : בינונית + ידע נדרש : עבודה מול מסד, פעולות על מערכים. המטרה : משיכה של רשומות שונות לא ע"פ סדר בעזרת שאילתה אחת לתוך מערך ולאחר מכן, הצגתו החוקים : עליכם למשוך כ 60 רשומות שונות מטבלה(על הרשומות להיות בתוך המערך הראשוני) לתוך מערך בעזרת שאילתה אחת בלבד ועד 3 פעולות עם פונקציות (למתקדמים). ולאחר מכן להציג את המערך החדש. * אין לפרסם שאלות שקשורות באתגר בפורום ! אוקי עכשיו אני אסביר : יש לכם טבלה במסד שנראית ככה : titleid,title,text titled = ה ID של השורה title = כותרת שלפיה אתם צריכים לחפש text = סתם כתב של השורה יכול להיות פה כל דבר חוץ מ NULL עכשיו יש לכם מערך שנראה ככה בערך רק עם 60 איברים : PHP קוד:
במסד צריך להיות 100 שורות 60 מתוכם בתוך המערך שכתבתי הרגע כמו שאמרתי עליכם למשוך את כל המידע לתוך מערך חדש בעזרת שאילתה אחת בלבד ! קריטריונים להצלחה : * שאילתה אחת בלבד * כמה שפחות שורות קוד (השורות שמייצגות את המערך הראשוני לא נחשבות) * כמה שפחות פעולות ומשחקים עם המערך הראשוני. עכשיו , זה שזה במערך זה כבר רמז גדול מאד להתחלה. אני אישית ביצעתי את האתגר עם בערך 3-5 שורות בלבד. שיהיה לכם בהצלחה. סיום האתגר : 20/10/06 |
ולאן שולחים את התשובות?
|
אני משער שבהודעה פרטית לרותם..
|
הודעה פרטית אלי....
שימו לב שהמערך הראשוני מכיל כותרות של מסודרת לפי סדר כלומר האיבר הראשון יכול להיות במקום 100 בטבלה (כאילו שורה אחרונה) וככה הלאה תפרסמו קישור באשכול לפתרון שלך (תציג את המערך בעזרת PRINT_R) ואת הקוד תשלח קישור לפרטי שלי. |
|
ציטוט:
תרשה לפרסם את מה שעשית... עשית : PHP קוד:
כלומר שה TITLE שלהם נמצא במערך... תחשוב על זה ככה אולי זה ייתן קצת אור .... יש לך את ה ID הבאים : 54,77,100,33,25,74,63 עכשיו תמשוך את ה ID הבאים בעזרת שאילתה אחת.. מה שעשית לא נכון. מצטער. אהה וגם אין צורך ב FOREACH בסוף...תעשה פשוט PRINT_R בשביל להציג...סתם בזבוז משאבים |
התשובה שלי: http://www.wip.co.il/Hosts/
|
ממ קראתי את זה , אבל לא ממש הבנתי.. :\
אתה אומר שיש כבר מערך לדוגמא : $search_titles = array('my title','some other title','hey all','welcome to hosts.co.il'); גודל המערך 60 . עכשיו במסד יש 100 רשומות שחייב להיות בהם את הערכים שיש במערך פשוט לשלוף אותם ? |
תחשוב שיש לך ככה : 14,1,55,88,96,33,25,24
כל אלה הם ID של שורות עכשיו תמשוך את כל ה ID האלה בעזרת שאילתה אחת. |
לא ממש הבנתי...
אתה רוצה שאני יבנה לולה שתבנה סטרינג לשאילתה ובוא כל הIDים?!? |
אממ עדיין- מה הבעיה בלעשות שאילתא שתשלוף הכל מהטבלה, ואז להדפיס בעזרת לולאה רק את הנתונים מהמסד שנמצאים במערך ?! =\
או שלא הבנתי נכון :| |
ציטוט:
|
אני לא בטוח שהבנתי את האתר, תגיד לי אם הרעיון שלי בכיוון: PHP קוד:
כלומר לולאה שתעבור על 100 מספרים (כלומר 100 הערכים הנמצאים במסד), אשר תבצע בדיקה אם הערך שווה למערך, אם כן יבצע שליפה. השאלה שלי היא כך, אתה אמרת שעלינו להזדקק רק לשאילתה אחת, פה הלולאה תבצע 60 שאילתות, אז לפי דעתי הרעיון שלי נפסל? :) |
ציטוט:
ככה שאם יש לי 100 אלף אז אני יעשה 100 אלף שאיתות...ממש לא יעיל. |
לא מובן בגרוש.
|
ציטוט:
|
אין לי ממש פתרון בקוד יש לי רק ברעיון משהו כזה:
PHP קוד:
|
ציטוט:
|
טוב אז הזוכה המאושר הוא Atom-Bomb שהוא היחידי שהצליח לתת פתרון מלא
מקום שני הגיע eLad שנתן פתרון חלקי אבל נכון (כי הוא לא מתכנת ב PHP אבל נסלח לו על כך) והנה הפתרון : PHP קוד:
הפונקציה IMPLOADE מוסיפה ערך בין כל האיבירים של המערך ובסופו של דבר היא הופכת אותו ל STRING ולכן לאחר השימוש בפונקציה המערך נראה ככה : PHP קוד:
מאד פשוט, וחבל שאף אחד לא הצליח לפתור את זה חוץ מ 2 אנשים. |
המטלה לא הייתה ברורה בשיט.
|
ציטוט:
מי שלא יודע לרקוד מאשים את הריצפה... |
כל הזמנים הם GMT +2. הזמן כעת הוא 14:34. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ