Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Poradie načítavania

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 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
Offline

Skúsený užívateľ
Skúsený užívateľ
Poradie načítavania

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 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.
Offline

Užívateľ
Užívateľ
Poradie načítavania

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok Napísal autor témyOffline : 31.01.2008 18:00

aha :D 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&amp;id=$id\">viac>></a>";

echo "<h1>$nazov</h1>
<span class=\"bocny-text\"><a href=\"?stranka=web-detail&amp;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&amp;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? :D







_________________
Sorry za prelkepy
Offline

Skúsený užívateľ
Skúsený užívateľ
Poradie načítavania

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 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&amp;id=$id\">viac>></a>";
     
      echo "<h1>$nazov</h1>
      <span class=\"bocny-text\"><a href=\"?stranka=web-detail&amp;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&amp;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.
Offline

Užívateľ
Užívateľ
Poradie načítavania

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok Napísal autor témyOffline : 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
Offline

Užívateľ
Užívateľ
Poradie načítavania

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok Napísal autor témyOffline : 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
Offline

Skúsený užívateľ
Skúsený užívateľ
Poradie načítavania

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 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&amp;id=$id\">viac>></a>";
     
      echo "<h1>$nazov</h1>
      <span class=\"bocny-text\"><a href=\"?stranka=web-detail&amp;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&amp;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.
Offline

Užívateľ
Užívateľ
Poradie načítavania

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok Napísal autor témyOffline : 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
Offline

Skúsený užívateľ
Skúsený užívateľ
Poradie načítavania

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 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.
Offline

Užívateľ
Užívateľ
Poradie načítavania

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok Napísal autor témyOffline : 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 :D dufam ze ma chapes..

http://sk.php.net/manual/sk/function.array-chunk.php







_________________
Sorry za prelkepy
Offline

Skúsený užívateľ
Skúsený užívateľ
Poradie načítavania

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 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.
Odpovedať na tému [ Príspevkov: 11 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Rýchlosť načítavania.

v Správy pre vedenie fóra

2

541

25.10.2012 20:56

evens Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problém načitavania...

v Siete

0

218

10.04.2012 13:12

ady007 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zaseknutie nacitavania Windowsu

v Operačné systémy Microsoft

14

513

14.08.2010 23:24

FERDA23 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Dlhy čas načítavania ?!

v Operačné systémy Microsoft

19

1221

10.11.2006 7:36

coky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. poradie upravenie

v PHP, ASP

2

569

08.02.2010 17:47

lucia19 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Poradie sprav

v Redakčné systémy

7

576

02.12.2006 19:56

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mechanika a svetielko načítavania

v Ostatné

2

294

13.09.2012 12:06

666andrew Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. poradie v tabulke

v Assembler, C, C++, Pascal, Java

11

501

07.07.2010 21:55

hudi1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. gmail - dlhé intervaly načítavania mailov

v Služby a webstránky

5

403

03.07.2013 22:43

comix Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Column 'poradie' cannot be null

v Databázy

0

408

09.12.2011 19:22

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Grafické karty - poradie podľa výkonu

[ Choď na stránku:Choď na stránku: 1, 2, 3 ]

v Grafické karty

67

14085

16.09.2009 16:27

dixi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Restartovanie PC pocas nacitavania CD alebo DVD

v Intel - Integrated Electronics

16

1278

29.07.2009 9:50

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PLS HELP: Poradie programov na liste

v Ostatné programy

3

602

13.09.2009 23:49

darvin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako na rozhádzané poradie prehrávaných video súborov?

v Video programy

1

311

21.05.2013 9:03

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako zmeniť poradie mp3 prehrávaných skladieb z USB kľúča, micro SD

v Audio programy

6

1619

15.10.2020 22:40

eMp Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra