| | |
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 31.01.2008 16:14 | |
|
Nazdar,
používam script na načítanie súborov z priečinku. Každy súbor má názov iba číslo (1, 2, 3..), takže súbory mi načítava v poradí podla mena, čiže od 1 do ... Ako spravím, aby mi načítavalo súbory od zadu, teda 3, 2, 1 ??? Ďakujem
_________________ Sorry za prelkepy |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 31.01.2008 17:40 | |
|
Predpokladám, že tam máš nejaký cyklus. Tak zmeň riadiacu podmienku tak, aby išla od najvyšších čísel k najnižším.
Kód: $n = 3; for ($i = $n; $i > 0; $i--){ echo $i; }
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 31.01.2008 18:00 | |
|
aha chapem teda... nemohol by si mi to zaradit sem?
Kód: <?php
if ($priecinok = opendir('web-tvorba/')) { while (false !== ($file = readdir($priecinok))) { $pole = explode(".", $file); $id = $pole[0]; @$pripona = $pole[1];
if($pripona == "php") {
include "web-tvorba/$file";
$kat0 = SubStr($popis, 0, 250); $kat = "$kat0 ... <a href=\"?stranka=web-detail&id=$id\">viac>></a>";
echo "<h1>$nazov</h1> <span class=\"bocny-text\"><a href=\"?stranka=web-detail&id=$id\">Detial stránky</a> | <a href=\"zobraz-web.php?id=$id\">Zobraziť stránku</a></span> <br /> <span class=\"obrazok-vlavo\"><a href=\"?stranka=web-detail&id=$id\"><img class=\"nahlad2\" src=\"obrazky/nahlad-web-tvorba/$id.jpg\" alt=\"$id\"/></a></span> <p> $kat </p>
<div class=\"oddelovac\"></div>"; } } closedir($priecinok); }
?>
diky
a este jedna otazka.. tam si dal ze $n=3.. to znamena, ze tam musi byt vzdy najvyssie cislo, teda pocet suborov v priecinku? alebo tam mozem bachnut 1000 a je to?
_________________ Sorry za prelkepy |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 31.01.2008 18:14 | |
|
Ok, zabudol som ako sa v PHP pracuje so súbormi... For cyklus tam nie je, takže na to budeme musieť ísť inak.
Kód: <?php if ($priecinok = opendir('web-tvorba/')) { while (false !== ($file = readdir($priecinok))) { $files[] = $file; } rsort($files); foreach ($files as $file) { $pole = explode(".", $file); $id = $pole[0]; @$pripona = $pole[1]; if($pripona == "php") { include "web-tvorba/$file"; $kat0 = SubStr($popis, 0, 250); $kat = "$kat0 ... <a href=\"?stranka=web-detail&id=$id\">viac>></a>"; echo "<h1>$nazov</h1> <span class=\"bocny-text\"><a href=\"?stranka=web-detail&id=$id\">Detial stránky</a> | <a href=\"zobraz-web.php?id=$id\">Zobraziť stránku</a></span> <br /> <span class=\"obrazok-vlavo\"><a href=\"?stranka=web-detail&id=$id\"><img class=\"nahlad2\" src=\"obrazky/nahlad-web-tvorba/$id.jpg\" alt=\"$id\"/></a></span> <p> $kat </p> <div class=\"oddelovac\"></div>"; } } closedir($priecinok); } ?>
Zmeny ktoré som spravil - na začiatku si len načítame všetky súbory do poľa. Potom pole zoradíme v obrátenom poradí (vlastne sa len prehodia indexy) a pre každý prvok poľa spustíme ten istý kód, ako predtým. Malo by to byť bez chyby (dúfam).
To číslo 3 bol len príklad na výpis 3 2 1.
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 31.01.2008 18:28 | |
|
jj je to bez chyby, ďakujem velmi moc len trochu nechápem tomu čo si tam popridával, ale to si už naštudujem na php.net ešte raz dik, veľmi si pomohol
_________________ Sorry za prelkepy |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 31.01.2008 20:09 | |
|
nechcel som otvárať novú tému, tak sem napíšem problém, ktorý sa viac menej týka scriptu vyššie... chcel by som tam spraviť stránkovanie. ak bduem mať viac ako dajme tomu 10 suborov, aby ich hned nenacitalo, ale spravilo stránkovanie po tich 10tich suborov.. nikde som nenasiel nejake strankovanie kde neni pouzita databaza... dalo by sa to aj pri tomto??
_________________ Sorry za prelkepy |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 31.01.2008 20:32 | |
|
Skús toto:
Kód: <?php if ($priecinok = opendir('web-tvorba/')) { while (false !== ($file = readdir($priecinok))) { $files[] = $file; } rsort($files); // strankovanie zaciatok define('POCET_NA_JEDNU_STRANKU', 5); // konstanta k strankovaniu array_chunk($files, POCET_NA_JEDNU_STRANKU); $pocet_stranok = count($files); if (isset($files[$_GET['page']])) { $aktualna = $_GET['p']; } else { $aktualna = 0; } if ($aktualna > 0 ) { $predosla = $aktualna - 1; } else { $predosla = false; } if ($aktualna < ($pocet_stranok - 1)) { $nasledujuca = $aktualna + 1; } else { $nasledujuca = false; } // strankovanie koniec foreach ($files[$aktualna] as $file) { $pole = explode(".", $file); $id = $pole[0]; @$pripona = $pole[1]; if($pripona == "php") { include "web-tvorba/$file"; $kat0 = SubStr($popis, 0, 250); $kat = "$kat0 ... <a href=\"?stranka=web-detail&id=$id\">viac>></a>"; echo "<h1>$nazov</h1> <span class=\"bocny-text\"><a href=\"?stranka=web-detail&id=$id\">Detial stránky</a> | <a href=\"zobraz-web.php?id=$id\">Zobraziť stránku</a></span> <br /> <span class=\"obrazok-vlavo\"><a href=\"?stranka=web-detail&id=$id\"><img class=\"nahlad2\" src=\"obrazky/nahlad-web-tvorba/$id.jpg\" alt=\"$id\"/></a></span> <p> $kat </p> <div class=\"oddelovac\"></div>"; } } closedir($priecinok); // strankovanie - vypis if ($predosla) { echo "<a href=\"?p=$predosla\">Predošlá</a><br>";// predchadzajuca } foreach ($files as $key=>$value) { if ($key != $aktualna) { echo "<a href=\"?p=$key>$key</a><br>"; } else { echo $key."<br>"; } } if ($nasledujuca) { echo "<a href=\"?p=$nasledujuca\">Nasledujúca</a>";// nasledujuca } } ?>
Kľúčová funkcia je array_chunk, tá ti rozdelí pole na rovnaké kúsky, potom vypisuješ len ten jeden kúsok a pre samotné stránkovanie používaš len tie indexy kúskov. Treba dať pozor na to, že indexy v poli začínajú od nuly (preto budeš mať vo výpise tiež od nuly, ale dá sa to napraviť jednoduchým pričítaním jednotky).
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 31.01.2008 20:53 | |
|
tak skusil som to, a nešlo.. bol itam nejake chyby
if (isset($files[$_GET['page']]))
{
$aktualna = $_GET['p'];
kde mozes videt, ze zistuje page ale odobera uz p... ale to je malickost.. vobec nechapem ze ako to pracuje, tak sam to asi nerozbehnem.. a co som si vsimol.. tak co zobrazuje te odkazy na strankovanie, tak su tam odkazy nie napr. 1-2-3-4-5-6 ale iba parne (2-4-6-8) alebo pri inej strane, ked som zmenil p tak bol iazse nepárne (1-3-5-7)
_________________ Sorry za prelkepy |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 31.01.2008 21:03 | |
|
Hmmmm... No, p a page je preklep, len si to zjednoť. Myšlienka bola taká, že rozdelíme si všetky súbory pomocou array_chunk na polia rovnako veľké, vypíšeme obsah aktuálneho poľa a potom nejak vypíšeme odkazy na ostatné. Pozri si v dokumentácii array_chunk atď a možno niečo doklepeš.
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 31.01.2008 21:08 | |
|
konkretne mi vypisuje chybu Invalid argument supplied for foreach() na riadok
foreach ($files[$aktualna] as $file)
...
a na php.net je nieco ako
Kód: <?php $vstupne_pole = array('a', 'b', 'c', 'd', 'e'); print_r(array_chunk($vstupne_pole, 2)); print_r(array_chunk($vstupne_pole, 2, true)); ?>
to je to ze, jeden ten "cyklus" alebo ako to nazvat, sa ulozi pod jedno "pismeno"?? neviem sa teraz vyjadrit dufam ze ma chapes..
http://sk.php.net/manual/sk/function.array-chunk.php
_________________ Sorry za prelkepy |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 31.01.2008 21:23 | |
|
Veď si ten kód spusti, uvidíš ako sa ti zobrazí to pole po "rozsekaní".
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|