Eli miten saan käyttäjät listattua aakkosittain silleen että kun painaa esim. A kirjainta niin se näyttää kaikki jäsenet jonka nimen ensinmäinen kirjain on A? Koodia:
<?php function list_files($dir, &$array) { if(substr($dir, -1) != "/") { $dir .= "/"; } $open = opendir($dir); while(gettype($file = readdir($open)) != "boolean") { if($file != "." && $file != "..") { /*if(is_file($dir.$file)) { $array[] = $dir.$file; } elseif(is_dir($dir.$file)) { list_files($dir.$file, &$array); }*/ if(is_dir($dir.$file)) { $array[] = $dir.$file; list_files($dir.$file, &$array); } } } closedir($open); unset($open); unset($file); } $files = array(); list_files(".", &$files); foreach($files as $temp) { $tiedosto = file("$temp/pass.dat"); $temp = substr($temp, 2); echo "- <a href=\"img.php?dir=", $temp, "\">", $temp, "</a> - Asuinpaikka: <a href=\"../kaupunki.php?kaupunki=$tiedosto[3]\">$tiedosto[3]</a> - Syntymäpäivä: $tiedosto[0].$tiedosto[1].$tiedosto[2] <br />\r\n"; } ?>
Miten tota pitäis muuttaa
kokeileppas semmosta kuin https://www.php.net/function.sort
EDIT: tuosta lisää kertoen, lisäät vaikkapa valitulla kirjaimella alkavien tiedostojen nimien eteen A-merkin, ja muihin sitten Z-merkin. Tällöin kun vielä sorttaat taulukon, saat haluamasi lopputuloksen.
Kokeiles tämän
$tiedosto = file("$temp/pass.dat");
tilalle tätä:
$tiedosto = sort(file("$temp/pass.dat"));
En ole varma miten toimii :P
Eiku kyllä se jo nyt listaa ne aakkos järjestyksessä mutta toi pitäis saada toimimaan silleen että ku painaa esim. A kirjainta niin se näyttää kaikki A kirjaimella alkavat nimet
<a href='lerssi.php?kuka=a'>a</a> <?php if(isset($_GET['kuka'])) { $aijat = array("Esko","Anselmi","Arttu","Pertti","Kullervo","Aatu"); foreach($aijat as $nimi) { if(strtolower($nimi{0})==$_GET['kuka']) print $nimi; } // foreach } // if ?>
Ei noin, mutta tuosta saanee idean.
Toi ei auttanu yhtään
Ja kehtaat vielä tunnustaa? Nyt manuaali käteen ja opettelemaan nuo perusloopit.
Toi mun koodi toimii ihan loistavasti mutta se listaus pitäis saada samanlaiseksi kuin irc-gallerian listaus
Kun kerran olet osannut tehdä noinkin pitkälle, ihmettelen, ettet osaa loppuun asti. Yksi mahdollisuus on vain jättää kirjoittamatta ne, joiden ensimmäinen kirjain ei ole haluttu. Jos nimet ovat tiedostossa valmiiksi järjestyksessä (kannattaisi varmaankin), voisi läpi käymisen lopettaa ensimmäiseen nimeen, joka ei sovi joukkoon.
Jos ei halua tehdä jokaiselle kirjaimelle omaa sivua, voi tietenkin vain verrata muuttujaan, jossa on haluttu merkki.
Juuri näinhän tuossa yllä olevassa näköjään tehdäänkin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.