Autor Zpráva
kryber
Profil *
Ahoj,

mám problém. vytvořil jsem funkci pro načítání náhodného obrázku. Vše funguje ale OBČAS se stránka nenačte .. Můžete vidět na www.602.cz ...

script na index.php vypada takto:

<div class="w800 h340 fl-left">';
     $cislo = mt_rand(1,4);switch($cislo) {
    case 1 : $obrazek = "slideshow1.jpg"; break;
    case 2 : $obrazek = "slideshow2.jpg"; break;
    case 3 : $obrazek = "slideshow3.jpg"; break;
    case 4 : $obrazek = "slideshow4.jpg"; break;
    default : $obrazek = "empty.jpg"; break;
      }
    echo '<a href="'.$srcArr[$index][link].'"><img src="'.$srcArr[$index][img].'" alt="'.$obrazek.'"></a>';

a ten ze ktereho nacita url adresy takto:

srcfile.php:

<?php
$srcArr = array(); 
        $srcArr[] = array('link' => "/czechpoint", 'img' => "http://na.602.cz/themes/602.cz/slideshow/slideshow1.jpg"); 
        $srcArr[] = array('link' => "/cssz", 'img' => "http://na.602.cz/themes/602.cz/slideshow/slideshow2.jpg");
        $srcArr[] = array('link' => "/motol", 'img' => "http://na.602.cz/themes/602.cz/slideshow/slideshow3.jpg"); 
        $srcArr[] = array('link' => "/reference", 'img' => "http://na.602.cz/themes/602.cz/slideshow/slideshow4.jpg");
?>

Nevíte co s tím ? Děkuji za případné odpovědi

Moderátor Majkl578: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Majkl578
Profil
Kde a jak definuješ proměnnou $index?
kryber
Profil *
Majkl578:
Jo sorrryy .... nahoře v index.php
touto řádkou:

<?php include "srcfile.php"; $index = rand(0,count($srcArr));?>
Majkl578
Profil
Problém je s tím tou funkcí count. Pole se indexuje od nuly, má čtyři prvky, takže index je 0-3. Funkce count vrátí 4. Tudíž rozmezí je 0-4, ale mělo by být 0-3. Když je 4, nic se nezobrazí.
Tohle by to mělo spravit:
<?php include "srcfile.php"; $index = rand(0, count($srcArr) - 1);?>
kryber
Profil *
zajímavé je, že se načte alt, ale src ne ... <div class="w800 h340 fl-left"><a href=""><img src="" alt="slideshow3.jpg"></a>
kryber
Profil *
Majkl578:
Mockrat děkuju ... Je vidět že se vyznáš :) Přeju hezký večer a doufám, že v budoucnu budu moci poskytovat rady i já!
Majkl578
Profil
[#5]
S tím altem je jiný problém, používáš tam mt_rand, což vygeneruje jiné číslo než to rand generující hodnotu $index.
Toto:
$cislo = mt_rand(1,4);switch($cislo) {
nahraď tímto:
switch($index) {
kryber
Profil *
Ještě mám menší dotaz ... Je možnost k tomu přiřadit ke každému obrázku specifický alt a title ?
Majkl578
Profil
Proč ne. Přidej do každého pole u $srcArr[] ještě 'alt' => 'popisek', smaž celý ten switch generující $obrazek a to současné echo nahraď za toto:
echo '<a href="'.$srcArr[$index]['link'].'"><img src="'.$srcArr[$index]['img'].'" alt="'.$srcArr[$index]['alt'].'"></a>';
kryber
Profil *
Paradicka to PHP vam reknu :) Vse funguje jak ma .. Dekuji mnohokrat a Dobrou noc :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0