Obsah fóra eRWe.cz

FAQ Hledat Seznam uživatelů Uživatelské skupiny Síň Slávy Hodnosti Bannery Registrace Profil Soukromé zprávy Přihlášení E-mail Online TV Návody Anketa
 



Zobrazit následující téma
Zobrazit předchozí téma
Přidat nové téma Zaslat odpověď  Obsah fóra eRWe.cz » PHP
Autor Zpráva
Day-V
Master Sergeant
Master Sergeant


Založen: 17.10.2009
Příspěvky: 169
Bydliště: Planá
|RW|Money 14050

PříspěvekZaslal: st Bře 17, 2010 8:59 pm Citovat

Zdravím,
při tvorbě jednoho webu jsem narazil na problém, kdy potřebuju stránkovat příspěvky, ale web (spíše obsah) je řešený funkcí include. Předpokládám, že to bude řešení, které vyžaduje databázi, ale prosím trošku pomaleji na mně ohledně databází (Very Happy) a ještě, neodkazujte mně na jiné weby...Smile
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
General
Captain
Captain


Založen: 8.11.2008
Příspěvky: 403
Bydliště: Louny
|RW|Money 27200

PříspěvekZaslal: st Bře 17, 2010 9:28 pm Citovat

citace:
Potřebuješ stránkovat příspěvky (kde uložený?) na webu kterej je řešenej přes include?


Nechtěl bys ses trochu rozepsat nebo hodit příklad ? Very Happy Jestli potřebuješ stránkovat výpis z databáze tak sou desítky návodů.
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky ICQ
Day-V
Master Sergeant
Master Sergeant


Založen: 17.10.2009
Příspěvky: 169
Bydliště: Planá
|RW|Money 14050

PříspěvekZaslal: st Bře 17, 2010 9:34 pm Citovat

General napsal:
Nechtěl bys ses trochu rozepsat nebo hodit příklad ? Very Happy Jestli potřebuješ stránkovat výpis z databáze tak sou desítky návodů.

Jednoduše mám v indexu toto:
kód:
<?
  $content=$_GET['p'];
  if($content){
   $f=$content.".inc";
   include($f);
  }
   else
  {
   include("uvod.inc");
  }
 ?>

A potřebuju například v rubrice "Články" stránkovat příspěvky (soubory jsou uložené na FTP, nic s databází) třeba po 5-ti na jednu stranu. Pokud to vůbec lze.
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
General
Captain
Captain


Založen: 8.11.2008
Příspěvky: 403
Bydliště: Louny
|RW|Money 27200

PříspěvekZaslal: st Bře 17, 2010 9:57 pm Citovat

Ten include kód bych řekl že je nebezpečnej... Záleží jak máš ty články uložený v tom souboru, pokud by si je měl třeba co řádek to jen <a> odkaz tak to pude řešit dobře, jinak mě nic jednoduchýho nenapadá..
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky ICQ
Day-V
Master Sergeant
Master Sergeant


Založen: 17.10.2009
Příspěvky: 169
Bydliště: Planá
|RW|Money 14050

PříspěvekZaslal: st Bře 17, 2010 10:03 pm Citovat

General napsal:
Ten include kód bych řekl že je nebezpečnej... Záleží jak máš ty články uložený v tom souboru, pokud by si je měl třeba co řádek to jen <a> odkaz tak to pude řešit dobře, jinak mě nic jednoduchýho nenapadá..

Nevím, asi je to jen idea (Very Happy), protože se v PHP nevyznám, ale napadlo mě, jestli by se to nedalo udělat takhle (ten include vypisuje soubory s koncovkou .inc ve kterých je normální text - o té nebezpečnosti už jsem něco četl): Mám .inc soubor s názvem např. uvod.inc ve kterém bude:
kód:
<h1>Úvod</h1>
<p>Vítejte na mém webu!</p>

A když se právě v souboru objeví nadpis <h1>, "započítal" by se jako jeden příspěvek...V databázích se také nevyznám, takže nevím jak je to reálné
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
General
Captain
Captain


Založen: 8.11.2008
Příspěvky: 403
Bydliště: Louny
|RW|Money 27200

PříspěvekZaslal: st Bře 17, 2010 10:31 pm Citovat

No když chceš počítat nadpisy H1 v danym souboru tak něco jako:
kód:
$load=file_get_contents('.'.$_SERVER['PHP_SELF']);
preg_match_all('/<h1.*>(.*)<\/h1>/i', $load, $matches);
print "Pocet nadpisu h1: ".count($matches[1]);


Nebo.. dejme tomu že máš v souboru list.txt napsaný jen odkazy - co odkaz to jeden řádek (řádek jako <a ..>..</a>) tak by to bylo jednoduchý:

kód:
$lines=file("list.txt");
$davky=5;

if (!isset($_GET['p'])) {
    $p=1;
} else {
    $p=intval($_GET['p']);
}

$od = (($p*$davky)-$davky);
$do = ($p*$davky);
$c  = count($lines);

for (; $od<$do; $od++) {
    echo $lines[$od]."<br>";
}

for ($i=1; $i<=$c; $i++) {
    if ((($i*$davky)<$c)) {
        echo '<a href="web.php?p='.$i.'">'.$i.'</a> ';
   }
}
//nějak mi to nevypisuje "zbytkový" záznamy, musim to promyslet

To uloží do pole odkazy, pak už jen stránkuje..

//Sry ale nemůžu pochopit co chceš Very Happy když tak mi napiš na ICQ (nebo když nemáš tak do PM)
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky ICQ
Day-V
Master Sergeant
Master Sergeant


Založen: 17.10.2009
Příspěvky: 169
Bydliště: Planá
|RW|Money 14050

PříspěvekZaslal: čt Bře 18, 2010 2:19 pm Citovat

General napsal:
No když chceš počítat nadpisy H1 v danym souboru tak něco jako:
kód:
$load=file_get_contents('.'.$_SERVER['PHP_SELF']);
preg_match_all('/<h1.*>(.*)<\/h1>/i', $load, $matches);
print "Pocet nadpisu h1: ".count($matches[1]);


Nebo.. dejme tomu že máš v souboru list.txt napsaný jen odkazy - co odkaz to jeden řádek (řádek jako <a ..>..</a>) tak by to bylo jednoduchý:

kód:
$lines=file("list.txt");
$davky=5;

if (!isset($_GET['p'])) {
    $p=1;
} else {
    $p=intval($_GET['p']);
}

$od = (($p*$davky)-$davky);
$do = ($p*$davky);
$c  = count($lines);

for (; $od<$do; $od++) {
    echo $lines[$od]."<br>";
}

for ($i=1; $i<=$c; $i++) {
    if ((($i*$davky)<$c)) {
        echo '<a href="web.php?p='.$i.'">'.$i.'</a> ';
   }
}
//nějak mi to nevypisuje "zbytkový" záznamy, musim to promyslet

To uloží do pole odkazy, pak už jen stránkuje..

//Sry ale nemůžu pochopit co chceš Very Happy když tak mi napiš na ICQ (nebo když nemáš tak do PM)

Funguje to...Díky...Wink
Poprosím o LOCK/vyřešené...Smile
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
|RW|MacCobra
Webmaster
Webmaster


Založen: 28.2.2008
Příspěvky: 851
Bydliště: Slovensko
|RW|Money 88630

PříspěvekZaslal: so Bře 20, 2010 9:18 am Citovat

Dufam ze nebudes pouzivat tento kod co si tam napisal:
kód:
<?
  $content=$_GET['p'];
  if($content){
   $f=$content.".inc";
   include($f);
  }
   else
  {
   include("uvod.inc");
  }
 ?>

.. a ze si ho osetris..
Co ked niekto vlozi za $content napriklad "hovno"..
to potom budes zobrazovat rubriku s nazvom Hovno ?

_________________
|RW|MacCobra je programátorom PHP aplikácií a webových stránok.
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma Zaslat odpověď

Zobrazit následující téma
Zobrazit předchozí téma
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.