14-06-2014, 09:49
|
|
|
|
חבר מתאריך: 12.04.06
הודעות: 2,021
|
|
ואו עירבבת כ"כ הרבה דברים בתוך קוד כל כך קצר.
- אם בחרת להשתמש בפונקציה rand בPHP ולהריץ אותה על מערך, אז תעבוד לפי התאים של המערך ואז האידים בכלל לא משנים לך.
id 0 = האיבר הראשון במערך [בדוגמא זה יהיה הבאנר עם אידי 1 במסד]
id 1 = האיבר השני במערך [בדוגמא לאחר המחיקה זה יהיה הבאנר עם אידי 3 במסד]
וזהו..אין יותר איברים.
והפונקציה של הrand תיראה כך:
קוד PHP:
rand(0,count($array) - 1);
- מוחזר לך null כי count מחזיר את מספר האיברים במערך = תראה בדוגמא למעלה, אם יש 2 איברים, האיבר השני הוא מספר 1 ! ולכן, כשיוצא בrand המספר 2, הוא לא קיים במערך.
- אם יש לך את כל המידע של הבנארים אחרי השאילתה הראשונה, אין צורך להריץ שאילתה נוספת, כי המידע כבר קיים.
וככה אני הייתי עושה את זה:
קוד PHP:
$query = mysql_query("SELECT * FROM `banner` ORDER BY RAND() LIMIT 1"); $banner = mysql_fetch_array($query);
echo "now shwing banner #" . $banner['id'];
* צריך להוסיף בדיקה שאכן חוזרות שורות (אם לדוגמא מחקת את כל הבאנרים והמסד ריק) וכדומה...אבל זה הקוד הבסיסי שאתה צריך.
_____________________________________
נערך לאחרונה ע"י MatiM בתאריך 14-06-2014 בשעה 09:51.
|