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

הוסטס - פורום אחסון האתרים הגדול בישראל (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)

amirs_5 15-10-06 00:45

אממ עדיין- מה הבעיה בלעשות שאילתא שתשלוף הכל מהטבלה, ואז להדפיס בעזרת לולאה רק את הנתונים מהמסד שנמצאים במערך ?! =\
או שלא הבנתי נכון :|

Tomer 15-10-06 00:50

ציטוט:

נכתב במקור על ידי amirs_5
אממ עדיין- מה הבעיה בלעשות שאילתא שתשלוף הכל מהטבלה, ואז להדפיס בעזרת לולאה רק את הנתונים מהמסד שנמצאים במערך ?! =\
או שלא הבנתי נכון :|

הבנת נכון, אבל השיטה שלך לא יעילה. תחשוב שיש לך 10000 ערכים במסד, אתה צריך רק 5 - אתה תעבור על כל ה 10000 ?

WebProject 17-10-06 06:18

אני לא בטוח שהבנתי את האתר, תגיד לי אם הרעיון שלי בכיוון:

PHP קוד:

for($i 1$i <= 100$i++){    
    for(
$j 1$i <= 60$i++){
        if(
$i == $array[$j]){
            
// SELECTING
        
}
    }


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

השאלה שלי היא כך, אתה אמרת שעלינו להזדקק רק לשאילתה אחת, פה הלולאה תבצע 60 שאילתות, אז לפי דעתי הרעיון שלי נפסל? :)

RS324 17-10-06 17:30

ציטוט:

נכתב במקור על ידי WebProject
אני לא בטוח שהבנתי את האתר, תגיד לי אם הרעיון שלי בכיוון:

PHP קוד:

for($i 1$i <= 100$i++){    
    for(
$j 1$i <= 60$i++){
        if(
$i == $array[$j]){
            
// SELECTING
        
}
    }


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

השאלה שלי היא כך, אתה אמרת שעלינו להזדקק רק לשאילתה אחת, פה הלולאה תבצע 60 שאילתות, אז לפי דעתי הרעיון שלי נפסל? :)

כן , הוא נפסל כי אתה תעשה שאילתות כמספר האיברים שיש לך במערך
ככה שאם יש לי 100 אלף
אז אני יעשה 100 אלף שאיתות...ממש לא יעיל.

Alon.R 17-10-06 18:45

לא מובן בגרוש.

RS324 17-10-06 18:47

ציטוט:

נכתב במקור על ידי Alon.R
לא מובן בגרוש.

מה לא מובן ? שיש לך מערך עם X רשומות שקיימות ב DB ואתה צריך למשוך אותם בעזרת שאילתה אחת ולהציג את הפרמטרים האחרים שמשכת כמערך לפי ה TITLE ?

Gal Shafrir 17-10-06 19:34

אין לי ממש פתרון בקוד יש לי רק ברעיון משהו כזה:
PHP קוד:

<?Php 
    $row 
mysql_fetch_array($query); 
    
$DB = array (
        
'id' $row['id']; 
);               
    for(
$DB['id']; $DB 101$DB++ ) { 
        echo 
$DB
    } 

    
$query mysql_query('SELECT {$DB['id]} FROM `table`") or die(mysql_error()); 
    echo $query;                             
?>

בכל מקרה, אני לא טוב ב-PHP ניסיתי להעלות השערה.

RS324 17-10-06 20:10

ציטוט:

נכתב במקור על ידי DJ G.S
אין לי ממש פתרון בקוד יש לי רק ברעיון משהו כזה:
PHP קוד:

<?Php 
    $row 
mysql_fetch_array($query); 
    
$DB = array (
        
'id' $row['id']; 
);               
    for(
$DB['id']; $DB 101$DB++ ) { 
        echo 
$DB
    } 

    
$query mysql_query('SELECT {$DB['id]} FROM `table`") or die(mysql_error()); 
    echo $query;                             
?>

בכל מקרה, אני לא טוב ב-PHP ניסיתי להעלות השערה.

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

RS324 21-10-06 16:38

טוב אז הזוכה המאושר הוא Atom-Bomb שהוא היחידי שהצליח לתת פתרון מלא
מקום שני הגיע eLad שנתן פתרון חלקי אבל נכון (כי הוא לא מתכנת ב PHP אבל נסלח לו על כך)

והנה הפתרון :

PHP קוד:

$array = array('title no1' 'title no2' ,'someother title');
$newarray = array();
$query mysql_query("SELECT * FROM titles WHERE title IN (".implode(',',$array).") ");
    while (
$row mysql_fetch_array($query))
    {
        
$newarray[] = $row;
    }
    
print_r($newarray); 

עכשיו להסבר :

הפונקציה IMPLOADE מוסיפה ערך בין כל האיבירים של המערך ובסופו של דבר היא הופכת אותו ל STRING ולכן לאחר השימוש בפונקציה המערך נראה ככה :
PHP קוד:

$somestring "'title no1' , 'title no2' ,'someother title'"

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


מאד פשוט, וחבל שאף אחד לא הצליח לפתור את זה חוץ מ 2 אנשים.

Eli-Hai 21-10-06 17:01

המטלה לא הייתה ברורה בשיט.


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

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