cyklus & array problém

Programovacie jazyky, rady, poradňa...
fortes
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 47
Registrovaný: 19 máj 2008, 16:18
Bydlisko: TT

cyklus & array problém

Príspevok od používateľa fortes »

Mam 3 priecinky s fotkami, v prvom je len jedna fotka, v druhom priecinku takisto jedna fotka, v tretom priecinku je ich 7.
Postupne potrebujem v cykle vypisat ake fotky sa nachadzaju v jednotlivych priecinkoch.
Prvy prechod cyklom vyberie nazov fotky z prveho priecinka, to je v pohode.
Druhy prechod cyklom ale nevyberie fotky len z druheho priecinka tak ako by som to potreboval, ale zapamata si fotku z prveho priecinka a vypise ich spolu. Treti prechod to iste a vypise fotky prveho druheho a tretieho priecinka spolu.
Ja by som potreboval vypisat kazdy priecinok samostatne, teda aby po prvom priechode cyklu premenna $files uz nemala ziadnu hodnotu, alebo ako by sa to dalo inac riesit?
// closedir nepomohlo...

Kód: Vybrať všetko

<?
$query="SELECT *, fotoalbumy.id as foto_id from albumy,fotoalbumy Where albumy.id='$_GET[alb]' AND fotoalbumy.alb=albumy.id Order by fotoalbumy.id ";
$result=mysql_query($query);
$nums=mysql_num_rows($result);
$list=mysql_fetch_array($result);
$id=$list['foto_id'];
$nums=$nums+$id;
for ($n=$id;$n<$nums;$n++) {
$query="SELECT  *, fotoalbumy.id as foto_id from fotoalbumy,albumy Where fotoalbumy.id=$n AND fotoalbumy.alb=albumy.id";
$result=mysql_query($query);
$row=mysql_fetch_array($result);

$dir = "foto/$row[folder]/";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
       if (strpos($filename, '.jpg',1) ) {
            
                $files[] = $filename;
                }
}

print_r($files);
echo "<br />";
}

?>
print_r($files); mi vrati:

Kód: Vybrať všetko

Array ( [0] => prvyalbum.jpg )
Array ( [0] => prvyalbum.jpg [1] => druhyalbum.jpg )
Array ( [0] => prvyalbum.jpg [1] => druhyalbum.jpg [2] => tretialbum.jpg [3] => dalsiefotovpriecinku3.jpg [4] => x.jpg [5] => 4.jpg [6] => 5.jpg [7] => 6.jpg [8] => 7.jpg )
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Pred to while daj $files = array();
Ten cyklus for ($n=$id;$n<$nums;$n++) { je dosť zvláštny (a nebude robiť to, čo chceš aby robil).
fortes
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 47
Registrovaný: 19 máj 2008, 16:18
Bydlisko: TT

Príspevok od používateľa fortes »

super, diky...Ten cyklus som tam mal len docasne, nechcel som ist dalej pokial som nemal vyriesene toto, najskor som to mal hned pri vypise z DB vo while, lenze tam mi to blblo este viac. Teraz s $files = array(); to ide aj tym prvym sposobom, inak aky rozdiel bol medzi tym ked som to tam nemal ? co presne to zmenilo...
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Pred každým tým while cyklom si tu premennú, pomocou toho príkazu, vyprázdniš.
Napísať odpoveď