לא פעם ראשונה, אני רואה פה תגובות בסגנון "אז פשוט תעשה עוד שאילתא"
אני יודע שלרובכם אין נסיון עם אתרים גדולים וכבדים (בלי להתנשא או משהו)
אבל תנסו לחשוב שיום אחד אתם תבנו אתר שיקבל מאות אלפי כניסות ביום, תחשבו איזה קריעה זה יהיה לעשות כל כך הרבה שאילתות על ה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 לשאילתא ותפצל את זה לעמודים.
בהצלחה