Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Arrayn arvojen selonta

Sivun loppuun

pistemies [30.10.2005 14:30:56]

#

Miten arrayssa olevia arvoja kannattaisi seuloa osiin.
Tulostan arrayn näin:

$i=0;
      while($tiedostolista[$i])
      {
        echo $tiedostolista[$i];
        $i++;
      }

Kukin arvo on jaettu osiin esim. seuraavasti:

"http://www.palvelin.fi/kuvat/|126|.jpg|\r\n
 http://www.palvelin.fi/kuvat/|128|.jpg|\r\n
 http://www.palvelin.fi/kuvat/|129|.jpg|\r\n"

Arvoja on 14 ja kussakin arvossa on yhteensä 6:n kuvan Url.Tarkoitus olisi saada nuo kuvat selottua siten, että ne tulostuu tuon kuvan numeron mukaisessa järjestyksessä.

pistemies [30.10.2005 19:01:31]

#

Olen sen verran tuota nyt helpottanut(?), että arrayn kussakin arvossa on vain yhden tiedoston Url-osoite. Tässä hötäkässä nuo rivinvaihtomerkit poistui koska exlplodetin ne niitä apuna käyttäen arrayhin.

Oliko ideaa, miten nuo arvot saa oikeaan järjestykseen tiedostonumeron mukaan?

ajv [30.10.2005 19:18:42]

#

En kyllä ihan tajunnut ongelmaasi, mutta miten olisi array_multisort()?

pistemies [30.10.2005 19:27:11]

#

ajv kirjoitti:

En kyllä ihan tajunnut ongelmaasi, mutta miten olisi array_multisort()?

Tarkoitus on laittaa järjestykseen array_multisortilla, mutta onnistuuko se vielä tässä vaiheessa, kun yksi arvo näyttää suunnilleen tältä:

 |http://www.palvelin.fi/kuvat/|129|.jpg|

Nuo | -viivat olen laittanut siksi, että saisin poimittua siitä pelkän numeron ja järjestää sitten sen mukaan, mutta tuossa "poiminnassa" on vähän ongelmia...

ajv [30.10.2005 19:45:44]

#

No eihän tuossa sitten edes tartte array_multisort():a. Jos siis aina pitää saada järjestettyä tuon numeron mukaan. Luet nuo arvot taulukkoon, jossa tuo numero on taulukon indeksi ja sen jälkeen ksort() ja avot!

$url[129]['url'] = 'http://www.palvelin.fi/kuvat/';
$url[129]['ext'] = '.jpg';
$url[128]['url'] = 'http://www.palvelin2.fi/kuvat/';
$url[128]['ext'] = '.png';
ksort($url);

pistemies [30.10.2005 21:02:07]

#

Tiedostoja on sen verran paljon, että niitä ei yksitellen kannata alkaa listaamaan.
Edennyt seuraavasti: Poistin Url-polun ja lisään sen myöhemmin tulostuksessa.
Arrayn arvo näyttää nyt tältä:

// Arrayn arvo näyttää nyt tältä: |347.jpg|

   asort($suma);
       foreach($suma as $key => $val)
       {
       	echo $val."<br>";
       }

Tuossa on vielä ongelmana se, että se tulostaa yhden kuvan useammin kuin kerran. Miten saa "jarrun" päälle oikeaan kohtaan?

pistemies [31.10.2005 10:10:41]

#

Sain tämän toimimaan. Tuo kuvien yletön tulostaminen johtui pikku virheestä, joka johtui ob_get_contents funktion tulostamisesta ja tallentamisesta yhteiseen merkkijonoon...
Homma toimii nyt.
Käänsin vielä array_reversellä kuvat suurimmasta pienimpään.
Sain kuvat aseteltua html-taulukkoon tulostamalla määrätyin
välein "</tr><tr>".

ipe [31.10.2005 14:56:42]

#

Onkohan array_reverseä ihan fiksu käyttää, kun voisi käyttää alunperinkin jo krsort():tia, käsittääkseni se järjestää suuremmasta pienempään. Korjatkaa jos olen käsittänyt väärin :)

ajv [31.10.2005 15:03:25]

#

No jos nopeutta ajattelee, niin taulukot ovat jo itsessään hitaita + jos niitä käännellään ja väännellään edestakaisin, niin tossa välillähän kerkee nopee mies käydä tekemässä jo tarpeensa :)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta