Autor Zpráva
DJXjozin
Profil *
Dobrý večer
mám takový problém...

$handle=opendir("stranky/blog/obsah");
while(false!==($a=readdir($handle))){
if ($a != "." && $a != ".."){
$b=$a;
explode(".", $a);
$d="".$a[0]."".$a[1]."";
if($d==01){
$c="leden.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
elseif($d==02){
$c="únor.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
elseif($d==03){
$c="březen.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
elseif($d==04){
$c="duben.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
elseif($d==05){
$c="květen.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
elseif($d==06){
$c="červen.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
elseif($d==07){
$c="červenec.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
elseif($d==08){
$c="srpen.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
elseif($d==09){
$c="září.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
elseif($d==10){
$c="říjen.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
elseif($d==11){
$c="listopad.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
elseif($d==12){
$c="prosinec.".$a[3]."".$a[4]."".$a[5]."".$a[6]."";
vypis('blog.php?b='.$b.'', ''.$c.'');
}
}
}
closedir($handle);

Tento zdrojový kód mi vypíše pokud existuje v určité složce složka nebo soubor v případě že začíná 01-12, ale stala se mi taková věc že to přeskočí soubory začínající 08 a 09

vypis() je funkce, která vypíše odkaz asi takhle je zdroj

function vypis($a, $b){
echo "<a href="$a" title="$b">$b</a> ";
}

Děkuji za rady
DJXjozin
Profil *
ještě ty složky co tam mám sou např.: 01.2007
Pavka
Profil
explode(".",$a);
Blbost. Proměnné $a zůstává stejný obsah ("01.2007").
$d="".$a[0]."".$a[1]."";
Proměnné $d to přiřadí první a druhý prvek řetězce - {"0", "1", ".", "2", ...}
A není třeba mezi spojení dávat pořád uvozovky... ($a[0] . $a[1])

Jestli chceš použít explode, pak takto:

$a = explode(".",$a);
Takhle se proměnná $a rozdělí na pole. ({01, 2007})
...a tedy
$d = $a[0];

...k problému: neporovnávej číslo, ale řetězec, pak ti to pojede. ($d == "08")
tiso
Profil
DJXjozin
Takto? Au... Čo Ti server urobil?
DJXjozin
Profil *
S těmi poli sem to pochopil a fungu je to vpohodě ale já mám jen problém s tím že to 08.2007 a 09.2007 nevypíše zbytek ano... ty uvozovky sem se tak naučil a rači to tak i nechám abych po nějaké době neměl zmatky.... Ale děkuju ikdyž si mě nepomohl Pavko
Pavka
Profil
elseif($d==08)
...prostě porovnávej řetězec a ne číslo... ($d == "01", ... , $d == "12")
I když nechápu, proč ti nefungujou jen ty dvě, ale takhle ti to fungovat bude...
DJXjozin
Profil *
Dobře vyzkouším díky
Toto téma je uzamčeno. Odpověď nelze zaslat.