Autor Zpráva
jamesczx
Profil
Ahoj mám takový menší problém.
Mám vytvořený náhodný obrázek s daným odkazem a titulkem. Problém je že se mi někdy zobrazí jako náhodný obrázek+odkaz jako neexistující nic. Potřeboval bych tedy poradit jak tento problém vyřešit. Jinak všechno funguje krásně jak má.

movie.php
<?php 
include "srcfile.php"; 
$index = rand(0,count($srcArr)); 
echo '<a class="youtube" href="'.$srcArr[$index][link].'" title="'.$srcArr[$index][title].'"><img src="'.$srcArr[$index][img].'" /></a>'; 
?>

srcfile.php
<?php 
$srcArr = array(); 
$srcArr[] = array('link' => "url1", 'title' => "titulek1", 'img' => "obrázek1"); 
$srcArr[] = array('link' => "url2", 'title' => "titulek2", 'img' => "obrázek2"); 
$srcArr[] = array('link' => "url3", 'title' => "titulek3", 'img' => "obrázek3"); 
?>

kouknout na to můžete tady (levý sloupec -> Video)
preca1
Profil
Zdravim,
kód, který si přiložil určitě není kód, který používáš na té stránce. Kde a jak se naplňuje to pole? Vypadá to, jako bys tam měl jeden prvek, který obsahuje prázdný hodnoty.
Alphard
Profil
rand(0, count()-1), protože se indexuje od nuly. Nebo přímo array_rand().
jamesczx
Profil
jamesczx:
I když v srcfile.php odstraním řádek $srcArr = array(); všechno funguje jak má, ale pořád mi to sem tam hodí prázdnotu.
Protože se indexuje od nuly? Ale jak určím aby se neindexoval od nuly, a problém bych takto vyřešil? Lámu si nad tím hlavu už několik dní a furt na nic nemůžu přijít.
Someone
Profil
jamesczx:
Viz [#3] Alphard
mimochodem: $srcArr[$index][link] si oprav na $srcArr[$index]['link'], $srcArr[$index][title] na $srcArr[$index]['title'] atd..
jamesczx
Profil
Když hodnotu rand(0,count($srcArr)); zaměním za
1) rand(0, count()-1;
2) rand(0, count($srcArr)-1);
3) rand(-1, count($srcArr));

Problém stejně přetrvává. Takže nějaké jiné nápady, protože jsem už mimo.....
Someone
Profil
jamesczx:
Správně je rand(0, count($srcArr)-1);
jamesczx
Profil
Ok už to jede jak má. Děkuji za radu :-)

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