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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   אתגר חדש : יעילות ! (https://hosts.co.il/forums/showthread.php?t=32844)

RS324 13-10-06 14:20

אתגר חדש : יעילות !
 
שלום אנשים ....

היום רציתי לעשות אתגר שאולי ילמד כמה אנשים, כמה דברים.

רמת האתגר : בינונית +
ידע נדרש : עבודה מול מסד, פעולות על מערכים.

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

החוקים : עליכם למשוך כ 60 רשומות שונות מטבלה(על הרשומות להיות בתוך המערך הראשוני) לתוך מערך בעזרת שאילתה אחת בלבד
ועד 3 פעולות עם פונקציות (למתקדמים). ולאחר מכן להציג את המערך החדש.
* אין לפרסם שאלות שקשורות באתגר בפורום !

אוקי עכשיו אני אסביר :
יש לכם טבלה במסד שנראית ככה :
titleid,title,text

titled = ה ID של השורה
title = כותרת שלפיה אתם צריכים לחפש
text = סתם כתב של השורה יכול להיות פה כל דבר חוץ מ NULL

עכשיו יש לכם מערך שנראה ככה בערך רק עם 60 איברים :
PHP קוד:

$search_titles = array('my title','some other title','hey all','welcome to hosts.co.il'); 

כל האיבירים שנמצאים במערך הזה, נמצאים גם במסד....
במסד צריך להיות 100 שורות
60 מתוכם בתוך המערך שכתבתי הרגע

כמו שאמרתי עליכם למשוך את כל המידע לתוך מערך חדש בעזרת שאילתה אחת בלבד !

קריטריונים להצלחה :
* שאילתה אחת בלבד
* כמה שפחות שורות קוד (השורות שמייצגות את המערך הראשוני לא נחשבות)
* כמה שפחות פעולות ומשחקים עם המערך הראשוני.

עכשיו , זה שזה במערך זה כבר רמז גדול מאד להתחלה.

אני אישית ביצעתי את האתגר עם בערך 3-5 שורות בלבד.

שיהיה לכם בהצלחה.

סיום האתגר : 20/10/06

lalamen 13-10-06 14:56

ולאן שולחים את התשובות?

Elad-A 13-10-06 14:58

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

RS324 13-10-06 15:09

הודעה פרטית אלי....
שימו לב שהמערך הראשוני מכיל כותרות של מסודרת לפי סדר
כלומר האיבר הראשון יכול להיות במקום 100 בטבלה (כאילו שורה אחרונה) וככה הלאה

תפרסמו קישור באשכול לפתרון שלך
(תציג את המערך בעזרת PRINT_R)
ואת הקוד תשלח קישור לפרטי שלי.

lalamen 13-10-06 15:16

http://wrzil.net/new/12345.php

RS324 13-10-06 15:20

ציטוט:

נכתב במקור על ידי lalamen

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

SELECT FROM `testORDER BY RAND() LIMIT 0,60 

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

תחשוב על זה ככה אולי זה ייתן קצת אור .... יש לך את ה ID הבאים : 54,77,100,33,25,74,63
עכשיו תמשוך את ה ID הבאים בעזרת שאילתה אחת..

מה שעשית לא נכון.
מצטער.

אהה וגם אין צורך ב FOREACH בסוף...תעשה פשוט PRINT_R
בשביל להציג...סתם בזבוז משאבים

Tomer 13-10-06 15:39

התשובה שלי: http://www.wip.co.il/Hosts/

amirs_5 14-10-06 16:35

ממ קראתי את זה , אבל לא ממש הבנתי.. :\
אתה אומר שיש כבר מערך לדוגמא :
$search_titles = array('my title','some other title','hey all','welcome to hosts.co.il');
גודל המערך 60 .
עכשיו במסד יש 100 רשומות שחייב להיות בהם את הערכים שיש במערך פשוט לשלוף אותם ?

RS324 14-10-06 17:31

תחשוב שיש לך ככה : 14,1,55,88,96,33,25,24
כל אלה הם ID של שורות

עכשיו תמשוך את כל ה ID האלה בעזרת שאילתה אחת.

AFI 14-10-06 23:08

לא ממש הבנתי...
אתה רוצה שאני יבנה לולה שתבנה סטרינג לשאילתה ובוא כל הIDים?!?


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

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