הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

 
 
כלים לאשכול תצורת הצגה
Prev הודעה קודמת   הודעה הבאה Next
ישן 25-01-11, 07:56   # 6
Ender
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Apr 2007
הודעות: 76

Ender לא מחובר  

לא משהו שבדקתי,
אבל הנה דרך שחשבתי עליה:
קוד:
$count = 1;
$sql = "SELECT COUNT(`views`) FROM `t_banners`";
$res = mysql_query($sql);
if($row=mysql_fetch_array($res)) { $count = intval($row[0])+1; }

$sql = "SELECT * FROM `t_banners` WHERE ((`rate` * {$count}) > `views`) ORDER BY RAND() LIMIT 1";
$res = mysql_query($sql);
if($row=mysql_fetch_assoc($res)) 
{
// show banner code here

$sql = "UPDATE `t_banners` SET `views` = `views` + 1 WHERE `id` = '{$row["id"]}'";
mysql_query($sql);
}
בהנחה שבטבלה t_banners יש שדה בשם rate שהוא אחוז ההופעות (למשל: 0.4), ושדה views שהוא כמות הצפיות בפועל
1. מחשבים את כמות הצפיות הכללית שהיתה עד עכשיו + 1 ומכניסים למשתנה $count
2. שולפים באנר אקראי בו אחוז החשיפה כפול מספר הצפיות הטוטאלי גדול ממספר הצפיות בפועל של הבאנר

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

נגיד יש 2 באנרים,
אחד עם אחוז של 0.4 ו- 4 צפיות
ואחד עם אחוז של 0.6 ו- 5 צפיות.
סך הצפיות הטוטאלי (9) + אחד יהיה 10.

הראשון לא יוצג כי 0.4 * 10 שווה ל- 4.
השני כן יוצג כי 0.6 * 10 גדול מ- 5.

מקווה שזה ברור ושזה יעזור
  Reply With Quote
 

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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