Autor Zpráva
Dj Lucas
Profil *
Zdravim potreboval bych nejaky script na strankovani bez pouziti Mysql .. stranky jsou kombinovane jak html tak php.. kdyztak se jedna o web

http://cziphone.ic.cz/

snad nekdo pomuze.. diky
AM_
Profil
Již mnohokrát tu zaznělo, že věštit neumíme. Takže tu nikdo nemá ponětí, jak je to "bez MySQL" řešené. Ale stránkování budeš řešit principielně stejně, jako s databází, jenom si pár věcí budeš muset naprogramovat sám (sečtení všech záznamů, vybrání jen určitého rozmezí).
Jiří Bednář
Profil
Dj Lucas
Nevím jaké jsou vase znalosti PHP, ale kdyz pouzijete funkci for a dalsi drobnosti mate vyhrano.
Dj Lucas
Profil *
no praveze znalosti php mam minimalni.. :) a co jsem hledal ruzne na internetu tak jsem nasel pouze s pouzitim mysql... proto bych prave potreboval uz nejaky nacrt scriptu at se mam ceho chytit..
AM_
Profil
Co kdybys zkusil začít sám? stránkování není nic tak těžkého, víc k tomu potřebuješ umět logicky uvažovat, než nějak pokročile programovat. Stejně, když nevíme, jak to máš řešené, ti asi neporadíme.
Jiří Bednář
Profil
AM_
Reaguji na tvuj prvni prispevek,
vytvoreil jsem strankovani bez pouziti MySQL a nize se na nej muzes podivat, funguje skvele a sam ho pouzivam.
Jen se musi doplnit par drobnosti ohledne zamezeni strankovani do minusu (nejleme file_exist kdyz budem vypisovat clanky)

Zde k vyzkouseni:

http://mythings.ic.cz/strankovani.php

Kod:

<?php
/*kolik je clanku*/
$publikovano_clanku = 30;

/*klik jich chceme na stranku*/
$clanku_na_stranku = 5;

/*vypocet pro zobrazeni pozadovaneho mnozstvi clanku*/
$publikovat_clanku = $publikovano_clanku - $clanku_na_stranku--;


if(!isset($zobrazit)){

/*vypsani clanku*/
for($i = $publikovano_clanku; $i >= $publikovat_clanku; $i--){
echo "Clanek: $i<br />";
}
}

/*vypis clanku pri pouziti strankovani */
else{

/*vypocet pro zobrazeni dalsich clanku*/
$publikovano_clanku_strankovani = $publikovano_clanku - $zobrazit;
$publikovat_clanku = $publikovano_clanku_strankovani - $clanku_na_stranku++;

/*vypis*/
for($i = $publikovano_clanku_strankovani; $i >= $publikovat_clanku; $i--){
echo "Clanek: $i<br />";
}
}

/*zobrazeni strankovani*/
if($publikovano_clanku > $clanku_na_stranku){

/* text strankovani  */
echo "<br />Strankovani<br />";

/*vypocet strankovani*/
$strankovani = $publikovano_clanku / $clanku_na_stranku;
$strankovani_po_zaokrouhleni =  ceil($strankovani);


/*zobrazeni poctu stranek s odkazy*/

/*vypis odkazu s promenymi*/
for($i = 1; $i <= $strankovani_po_zaokrouhleni; $i++){
$zobrazit = $clanku_na_stranku * $x++;

/*odkaz na dalsi stranku*/
echo " <a href=\"strankovani.php?zobrazit=$zobrazit\">$i</a> |";
}
}
?>



Neni to dokonale, ale funguje to. Osetreni si uz musi zaridit kazdy sam.
Jiří Bednář
Profil
Jeste doplnim, ze to neni osetrene pro vypnute globalni promenne!
AM_
Profil
/*potrebny vypocet*/
$publikovat_clanku = $publikovano_clanku - $clanku_na_stranku;

Tady jsem se čtením kódu skončil. Komentář "potřebný výpočet" je trochu nicneříkající- kdyby nebyl potřebný, tak by tam zřejmě nebyl. A proč od celkového počtu odčítáš počet na stránku také nechápu.

Jinak je to veskrze to samé jako skripty, které najdeš na webu pro stránkování MySQL, jak jsem říkal. Jediný problém je, že si články musíš sám sečíst (pokud např. článek=soubor, tak to bude počet určitých souborů) a vybrat pak zvolené rozmezí (pokud jsou soubory nějak slušně v názvu očíslované, také to nebude problém).
Jiří Bednář
Profil
AM_

Seskladal jsem to za 20 minut, je tam halda chyb, ale kdyz to tu nikdo nedokazal napsat, tak jsem to udelal. A funguje to, kdyz to funguje, nebudu resit proc se tam co odcita.
Jiří Bednář
Profil
AM_
Jako zaklad to staci.
Dj Lucas
Profil *
ok diky... zkusim to nejak rozhejbat na webu :)
Jiří Bednář
Profil
Dj Lucas
Kdyz tak napis na icq 282990261
Freeway
Profil *
Čau, nevěděl by někdo alespoň jak ošetřit to aby počet těch článků nemohl jít do minusu ???? díky za odpověď

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0