אשכול: טיפה עזרה
View Single Post
ישן 02-09-06, 17:27   # 6
omercnet
אחראי פורום תחזוק שרתים
 
מיני פרופיל
תאריך הצטרפות: Aug 2006
גיל: 38
הודעות: 722

omercnet לא מחובר  

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

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

ההצעה שלי:
PHP קוד:
<?

define
('PICS_PER_ROW'5);
$iPics 0;

print(
"<table>\n");

$qPictures "SELECT id,name FROM `images`";

while ( 
$sPictures mysql_fetch_assoc($qPictures) ) {
    
    
/* Open a TR if it's a new row */
    
if ($iPics == 0) { print('<tr>'); }

    
$iPics++;
    print(
'<td><a href="pics.php?t=full&id={$sPictures[id]}"><img src="thumbs\{$sPictures[name]}_t.jpg"></a></td>');

    if ( 
PICS_PER_ROW == $iPics) { /* Close TR and reset counter if reached the limit */
        
print('</tr>\n');
        
$iPics 0;
    }
}

/* Close the TR if there wasn't enough pics in the last row. */
if ( $iPics PICS_PER_ROW ) { print('</tr>'); }

print(
'</table>\n');
?>
אם אתה רוצה להפריד את זה לעמודים, למשל לא יותר מ50 תמונות בעמוד, אז תוסיף LIMIT לשאילתא ותפצל את זה לעמודים.

בהצלחה

Last edited by omercnet; 02-09-06 at 17:29..
  Reply With Quote