[ Príspevkov: 11 ] 
AutorSpráva
Offline

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

Registrovaný: 26.12.06
Prihlásený: 30.10.17
Príspevky: 4009
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Vek: 24
NapísalOffline : 31.01.2008 16:14 | Poradie načítavania

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: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 31.01.2008 17:40 | Poradie načítavania

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ý: 30.10.17
Príspevky: 4009
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Vek: 24
Napísal autor témyOffline : 31.01.2008 18:00 | Poradie načítavania

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: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 31.01.2008 18:14 | Poradie načítavania

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ý: 30.10.17
Príspevky: 4009
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Vek: 24
Napísal autor témyOffline : 31.01.2008 18:28 | Poradie načítavania

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ý: 30.10.17
Príspevky: 4009
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Vek: 24
Napísal autor témyOffline : 31.01.2008 20:09 | Poradie načítavania

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: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 31.01.2008 20:32 | Poradie načítavania

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ý: 30.10.17
Príspevky: 4009
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Vek: 24
Napísal autor témyOffline : 31.01.2008 20:53 | Poradie načítavania

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: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 31.01.2008 21:03 | Poradie načítavania

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ý: 30.10.17
Príspevky: 4009
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Vek: 24
Napísal autor témyOffline : 31.01.2008 21:08 | Poradie načítavania

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: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 31.01.2008 21:23 | Poradie načítavania

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.
 [ Príspevkov: 11 ] 


Poradie načítavania



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

292

25.10.2012 20:56

evens

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

Problém načitavania...

v Siete

0

72

10.04.2012 13:12

ady007

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

poradie upravenie

v PHP, ASP

2

278

08.02.2010 17:47

lucia19

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

Poradie sprav

v Redakčné systémy

7

340

02.12.2006 19:56

JanoF

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

Dlhy čas načítavania ?!

v Operačné systémy Microsoft

19

954

10.11.2006 7:36

coky

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

Zaseknutie nacitavania Windowsu

v Operačné systémy Microsoft

14

250

14.08.2010 23:24

FERDA23

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

poradie v tabulke

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

11

278

07.07.2010 21:55

hudi1

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

Mechanika a svetielko načítavania

v Ostatné

2

96

13.09.2012 12:06

666andrew

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

104

03.07.2013 22:43

comix

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

Column 'poradie' cannot be null

v Databázy

0

219

09.12.2011 19:22

camo

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

12950

16.09.2009 16:27

dixi

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

PLS HELP: Poradie programov na liste

v Ostatné programy

3

351

13.09.2009 23:49

darvin

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

Restartovanie PC pocas nacitavania CD alebo DVD

v Intel - Integrated Electronics

16

874

29.07.2009 9:50

Jaro

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

80

21.05.2013 9:03

shiro



© 2005 - 2017 PCforum, edited by JanoF