Merhaba arkadaşlar.
php'de rand ile kafamıza göre veri alıyoruz ama benim aradığım ise sıralı veri çekme. (db bağımsız) bunu nasıl yapabilirim?
Örnek vermem gerekirse bir klasör içinde 50 adet resim var.
Sitemin ana sayfasında da 4 resim gösteren slider var.
Amacım o klasör içindeki 50 adet resimden kafasına göre 4'lü bir şekilde alsın ama aynı resimleri almasın.
Bunu nasıl yapabilirim?
Teşekkürler.
php sıralı random
7
●489
- 06-06-2018, 16:54:50
<?php session_start(); if(empty($_SESSION["say"])) $_SESSION["say"]=0; if ($_SESSION["say"]>=5){ $_SESSION["say"]=0; } if ($_SESSION["say"]==0) { echo '<img src="1.png">'; $_SESSION["say"]++; }elseif ($_SESSION["say"]==1) { echo '<img src="2.png">'; $_SESSION["say"]++; }elseif ($_SESSION["say"]==2) { echo '<img src="3.png">'; $_SESSION["say"]++; }elseif ($_SESSION["say"]==3) { echo '<img src="4.png">'; $_SESSION["say"]++; }elseif ($_SESSION["say"]==4) { echo '<img src="5.png">'; $_SESSION["say"]++; } ?>Sırayla en baştan resimleri açar, sonra tekrar en başa döner. Sırayı aynı şekilde artırabilirsiniz. - 06-06-2018, 17:41:36Öncelikle cevabınız için çok teşekkür ederim.Tedux adlı üyeden alıntı: mesajı görüntüle
Aradığım tam olarak buydu.
Fakat bende aşağıda görebileceğiniz üzere klasörü tarayan bir kod var.
<?php function get_rand_img($dir) { $arr = array(); $list = scandir($dir); foreach($list as $file) { if(!isset($img)) { $img = ''; } if(is_file($dir . '/' . $file)) { $ext = end(explode('.', $file)); if($ext == 'gif' || $ext == 'jpeg' || $ext == 'jpg' || $ext == 'png' || $ext == 'GIF' || $ext == 'JPEG' || $ext == 'JPG' || $ext == 'PNG') { array_push($arr, $file); $img = $file; } } } if($img != '') { $img = array_rand($arr); $img = $arr[$img]; } $img = str_replace("'", "\'", $img); $img = str_replace(" ", "%20", $img); return $img; } ?> <img src="images/slider/<? echo get_rand_img('images/slider'); ?>">Bu kod yardımı ile klasör içerisinden random olarak resimleri okutuyorum.
Sizin kodunuz ile bunu nasıl birleştirebilirim?
Yani <? echo get_rand_img('images/slider'); ?> kodunu kullanarak
<? echo get_rand_img1('images/slider'); ?>
<? echo get_rand_img2('images/slider'); ?>
<? echo get_rand_img3('images/slider'); ?>
<? echo get_rand_img4('images/slider'); ?>
Yaparak her defasında 4'erli 4'erli resimleri (aynı olmayacak şekilde) nasıl çekebilirim?
Teşekkürler. - 06-06-2018, 17:50:45Arkadaş uzun yoldan yapmayı seviyor heralde hocamtheykk adlı üyeden alıntı: mesajı görüntüle
- 06-06-2018, 17:52:51Anladığım kadarıyla bu kod ile klasör içerisinde ki resimleri otomatik olarak çekiyorsunuz, yalnız bu sırayı bozacağını düşünüyorum. Bu kod kafasına göre seçim yaparsa aynı resmi tekrar seçebilir. Eğer klasör içerisinde bulunan resimler hiç değişmiyorsa, resim adresini eklemenizi öneririm.gizemsiz adlı üyeden alıntı: mesajı görüntüle
<?php session_start(); if(empty($_SESSION["say"])) $_SESSION["say"]=0; if ($_SESSION["say"]>=5){ $_SESSION["say"]=0; } if ($_SESSION["say"]==0) { echo '<? echo get_rand_img1('images/slider'); ?>'; $_SESSION["say"]++; }elseif ($_SESSION["say"]==1) { echo '<? echo get_rand_img2('images/slider'); ?>'; $_SESSION["say"]++; }elseif ($_SESSION["say"]==2) { echo '<? echo get_rand_img3('images/slider'); ?>'; $_SESSION["say"]++; }elseif ($_SESSION["say"]==3) { echo '<? echo get_rand_img4('images/slider'); ?>'; $_SESSION["say"]++; } ?>Bunu denermisiniz.