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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   תמונות רנדומליות בדף אחד (https://hosts.co.il/forums/showthread.php?t=21511)

Alter 09-05-06 21:33

תמונות רנדומליות בדף אחד
 
שלום לכולם,
אני מעוניין להכניס לדף מסויים כמה תמונות אשר יתחלפו רנדומלית.
יצאתי מערך שמרכיב את כל התמונות ועושה שליפה רנדומלית פעם אחד, וגם מדפיס פעם אחת.
השאלה איך אני יכול לעשות את אותה הפעולה 5 פעמים, אך שאף תמונה לא תופיע פעמיים באותו הדף?

תודה מראש,
רון אלטר.

RS324 09-05-06 21:37

מבחינה רעיונית - אחרי שליפה מהמערך אתה מקבל את ה KEY ואת הערך
הדרך הכי פשוטה שאני חושב עליה היא ככה
נגיד שהמערך שלך נראה ככה

arry[0] = img1

וכככה עד 50 תמונות

אז כשאתה שולף מיד אחרי השליפה תעשה
unset[array[$key]

ואז הוא כביכול מוחק את התמונה מהמערך ואז היא לא תוכל להבחר שוב

Alter 09-05-06 21:53

זה הסקריפט שלי כרגע, תוכל לעזור לי להבין איך אני משלב את זה?
PHP קוד:

$file_names = array(
"icon1.jpg" => 1,
"icon2.jpg" => 2,
"icon3.jpg" => 3,
"icon4.jpg" => 4,
"icon5.jpg" => 5,
"icon6.jpg" => 6,
"icon7.jpg" => 7,
"icon8.jpg" => 8,
"icon9.jpg" => 9,
"icon10.jpg" => 10,
"icon11.jpg" => 11,
"icon12.jpg" => 12
);

$random_image array_rand($file_names1);

echo 
"<img src='images/icons/" $random_image "' />"


בניה 09-05-06 22:26

ב"ה
הינה :)
PHP קוד:

<?php
$file_names
[]="icon1.jpg";
$file_names[]="icon2.jpg";
$file_names[]="icon3.jpg";
$file_names[]="icon4.jpg";
$file_names[]="icon5.jpg";
$file_names[]="icon6.jpg";
$file_names[]="icon7.jpg";
$file_names[]="icon8.jpg";
$file_names[]="icon9.jpg";
$file_names[]="icon10.jpg";
$file_names[]="icon11.jpg";
$file_names[]="icon12.jpg";

for(
$i=1;$i<=5;$i++)
    {
$random_image=array_rand($file_names);
echo 
"<img src='images/icons/" $file_names[$random_image] . "' />\n";
unset(
$file_names[$random_image]);
    }
?>


Alter 09-05-06 22:39

הסתדרתי, דרש קצת שינוי קוד, אבל עבד.
תודה בניה!

Tomer 09-05-06 22:44

ציטוט:

נכתב במקור על ידי Alter
מצויין, אבל מה עושים שהם לא ברצף ובמקומות שונים בדף? =]

PHP קוד:

 <?php 
$file_names
[]="icon1.jpg"
$file_names[]="icon2.jpg"
$file_names[]="icon3.jpg"
$file_names[]="icon4.jpg"
$file_names[]="icon5.jpg"
$file_names[]="icon6.jpg"
$file_names[]="icon7.jpg"
$file_names[]="icon8.jpg"
$file_names[]="icon9.jpg"
$file_names[]="icon10.jpg"
$file_names[]="icon11.jpg"
$file_names[]="icon12.jpg"

for(
$i=1;$i<=5;$i++) 
    { 
$random_image=array_rand($file_names); 
$image[] =  "<img src='images/icons/" $file_names[$random_image] . "' />\n"
unset(
$file_names[$random_image]); 
    } 
?>

ואז אתה מציג:
$image[0] תמונה ראשונה
$image[1] שניה וכד'

אני מקווה שיעבוד.

בניה 09-05-06 22:45

ב"ה

הפוקנציה getimage() תחזיר כל פעם שם קובץ אחר, ברגע שתקרא לה מספר פעמים שיותר ממספר התמונות אז תהיה בעיה אבל אתה צריך רק 5 אז זה מעולה.
PHP קוד:

<?php
$file_names
[]="icon1.jpg";
$file_names[]="icon2.jpg";
$file_names[]="icon3.jpg";
$file_names[]="icon4.jpg";
$file_names[]="icon5.jpg";
$file_names[]="icon6.jpg";
$file_names[]="icon7.jpg";
$file_names[]="icon8.jpg";
$file_names[]="icon9.jpg";
$file_names[]="icon10.jpg";
$file_names[]="icon11.jpg";
$file_names[]="icon12.jpg";
function 
getimage()
    {
    global 
$file_names;
    
$random_image=array_rand($file_names);
    return 
$file_names[$random_image];
    unset(
$file_names[$random_image]);
    }
?>


Alter 09-05-06 22:48

ציטוט:

נכתב במקור על ידי בניה
ב"ה

הפוקנציה getimage() תחזיר כל פעם שם קובץ אחר, ברגע שתקרא לה מספר פעמים שיותר ממספר התמונות אז תהיה בעיה אבל אתה צריך רק 5 אז זה מעולה.
PHP קוד:

<?php
$file_names
[]="icon1.jpg";
$file_names[]="icon2.jpg";
$file_names[]="icon3.jpg";
$file_names[]="icon4.jpg";
$file_names[]="icon5.jpg";
$file_names[]="icon6.jpg";
$file_names[]="icon7.jpg";
$file_names[]="icon8.jpg";
$file_names[]="icon9.jpg";
$file_names[]="icon10.jpg";
$file_names[]="icon11.jpg";
$file_names[]="icon12.jpg";
function 
getimage()
    {
    global 
$file_names;
    
$random_image=array_rand($file_names);
    return 
$file_names[$random_image];
    unset(
$file_names[$random_image]);
    }
?>


מצויין, אני אבדוק גם את זה ויחזור אליך |winky|

בניה 09-05-06 22:51

ב"ה


שלי לא עובד טוב|: .
נראה לי שזה בגלל שזה בתוך פוקנציה אפשר לסדר אבל כבר עדיף שתשתמש בזה של Atom-Bomb

RS324 09-05-06 23:01

בעיקרון יש לי פתרון יותר טוב... תעשה כמו ARRAY שהוא DEAFULT
ואז כשנגמרות התמונות תקרא לה מההתחלה

תן לי כמה דקות אני אכתוב לך את זה


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

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