Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 32 ] Choď na stránku: 1, 2 ďalšia
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok NapísalOffline : 26.01.2009 21:10

Ahojte opat sa na Vas obraciam ako na odbornikov programovania v PHP ... chalani mam takyto kod (pouzitie studijne ucely)

zobraz.php ktory incudujem na index.php, lenze ked skusam a poslem 100 "textov" tak sa mi pod sobou zobrazi 100 ... potreboval bz som to porozdelovat tak aby som to tak abz sa mi to podelilo na stranky po 10 textov napriklad... viete mi pomoct ? Ide o to ze aj na tomto fore som nasiel scriptz k tomu ale nejak tomu nerozumiem vedeli by ste to inklinovat priamo to mojeho kodu abz som to pochopil ?

Kód:
<?php
session_start();
  include "databaza.php";
   $spojenie = MySQL_Connect("$dbserver" , "$dbuzivatel" , "$dbheslo");
   MySQL_Select_DB("$db", $spojenie);
   if (!$spojenie):
      echo "<center>Pripojenie sa nezdarilo!</center>";
      else:
      echo "";
   endif;
   
   $spojenie = "SELECT * FROM $inzerciatabulka ORDER BY id_inzercia DESC";
   $vysledok = MySQL_Query($spojenie);
   if (!$vysledok):
    echo "Dotazovanie k informaciam sa nepodarilo!";
    else:
    echo "";
  endif;
 
 
 
  while ($vypis = MySQL_Fetch_Array($vysledok))
    echo "<div id=\"inzerat\">
    <div class=\"umiestnenievpravo\">inzerat ID: <b>".$vypis['id_inzercia']."</b></div>
    Inzerát pridaný dňa: ".$vypis['datum_inzercia']." o ".$vypis['cas_inzercia']."
    <center><b><font size=\"3\">".$vypis['titulok_inzercia']."</font></b></center><br>
    ".$vypis['popis_inzercia']."
    <center>..............................................................................................................................................................</center>
    <center>Odoslané užívateľom: <b>".$vypis['smeno_inzercia']."</b> | Poloha: <b>".$vypis['status_poloha']."</b> | Cena: <font color=\"red\"><b>".$vypis['cena_inzercia']."</b></font> € s DPH</center>
    </div>
    ";
?>


Vsetkym vopred dakujem...


Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 26.01.2009 21:18

zalezi od toho, ake strankovanie tam chces, bud chces generovat cisla stranok alebo ti stacia odkazy, pomocou ktorych sa pohybujes o jednu stranu dopredu alebo dozadu...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok Napísal autor témyOffline : 26.01.2009 21:25

No chcel by som ten s cislami ten je isto zlozitejsi ... lepsie to pochopim ... pomozes ?


Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 26.01.2009 21:33

myslis tento skript? http://www.pcforum.sk/post-vp460968.html#460968

zda sa mi to dost okomentovane, ale tak povedz, comu konkretne nechapes a pokusim sa ti to vysvetlit...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok Napísal autor témyOffline : 26.01.2009 21:40

jj, myslel som presne ten ... No nerozumiem ako ho mam vlozit a kde do toho mojeho kodu...bo uz som skusal kadeco a nikdy mi to nic neurobi ...

mam urobeny index .. a v nom <? include "zobraz.php"; ?> ten zobraz.php uz som posielal ... ale ako to spojit s [url]http://www.pcforum.sk/post-vp460968.html#460968
[/url] aby to fungovalo.
[/url]


Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 26.01.2009 21:59

zaklad je zistit, kolko zaznamov vyhovuje zadanemu sql prikazu... potom uz len pouzijes skript podobne, ako je uvedeny v prikladoch pouzitia... cize napriklad (musis si tam pridat este pripojenie k db):
Kód:
<?php
define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
define("DELIMITER", " | ");   //oddelovac cisiel stranok
   
$page = 1;        //cislo aktivnej stranky (default=1)

$sql = "SELECT count(*) FROM $inzerciatabulka";
$numRows = mysql_num_rows(mysql_query($sql));
$rowsPerPage = 10;
$maxPages = 9;

$numPages = ceil($numRows/$rowsPerPage);     //pocet stranok v strankovani

if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) {
   $page = $_GET[PAGEVAR];
}

$offset = ($page - 1) * $rowsPerPage;

$sql = "SELECT * FROM $inzerciatabulka ORDER BY id_inzercia DESC LIMIT $offset,$rowsPerPage";
$res = mysql_query($sql);
if($res!==false) {
   while(list($vypis = mysql_fetch_assoc($res)) {
      //vypis
   }
}

echo pagination($numRows, $rowsPerPage, $maxPages);
?>

ale asi to pouzitie nejak zjednodusim, lebo tak sa mi zda, ze je to pre niektorych komplikovane, co som si asi vtedy neuvedomil...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok Napísal autor témyOffline : 26.01.2009 22:18

No urobil som to takto a vypisalo inzeraty ale na konci chybu... :(

Kód:
<?php
session_start();
   include "databaza.php";
   $spojenie = MySQL_Connect("$dbserver" , "$dbuzivatel" , "$dbheslo");
   MySQL_Select_DB("$db", $spojenie);
   if (!$spojenie):
      echo "<center>Pripojenie sa nezdarilo!</center>";
      else:
      echo "";
   endif;
   
   define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
   define("DELIMITER", " | ");   //oddelovac cisiel stranok
       
    $page = 1;        //cislo aktivnej stranky (default=1)
   
    $spojenie = "SELECT count(*) FROM $inzerciatabulka";
    $numRows = mysql_num_rows(mysql_query($spojenie));
    $rowsPerPage = 10;
    $maxPages = 9;
   
    $numPages = ceil($numRows/$rowsPerPage);     //pocet stranok v strankovani
   
    if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) {
       $page = $_GET[PAGEVAR];
    }
   
    $offset = ($page - 1) * $rowsPerPage;
   
    $spojenie = "SELECT * FROM $inzerciatabulka ORDER BY id_inzercia DESC LIMIT $offset,$rowsPerPage";
    $vysledok = mysql_query($spojenie);
    if($vysledok!==false) {
 
    while ($vypis = MySQL_Fetch_Array($vysledok))
    echo "<div id=\"inzerat\">
    <div class=\"umiestnenievpravo\">inzerat ID: <b>".$vypis['id_inzercia']."</b></div>
    Inzerát pridaný dňa: ".$vypis['datum_inzercia']." o ".$vypis['cas_inzercia']."
    <center><b><font size=\"3\">".$vypis['titulok_inzercia']."</font></b></center><br>
    ".$vypis['popis_inzercia']."
    <center>..............................................................................................................................................................</center>
    <center>Odoslané užívateľom: <b>".$vypis['smeno_inzercia']."</b> | Poloha: <b>".$vypis['status_poloha']."</b> | Cena: <font color=\"red\"><b>".$vypis['cena_inzercia']."</b></font> € s DPH</center>
    </div>
    ";
           }
    echo pagination($numRows, $rowsPerPage, $maxPages);
?>



Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 26.01.2009 22:32

aku chybu? mas tam includnutu tu funkciu?







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok Napísal autor témyOffline : 26.01.2009 22:37

chyba :
Kód:
Parse error: syntax error, unexpected '=', expecting ',' or ')' in /domains1/public/www_root/newportal/zobrazinzerat.php on line 34

toto je kod co vypisuje chybu... a mal bu vypisat sprankovanie
Kód:
<?php
session_start();
   include "databaza.php";
   $spojenie = MySQL_Connect("$dbserver" , "$dbuzivatel" , "$dbheslo");
   MySQL_Select_DB("$db", $spojenie);
   if (!$spojenie):
      echo "<center>Pripojenie sa nezdarilo!</center>";
      else:
      echo "";
   endif;
   
   define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
   define("DELIMITER", " | ");   //oddelovac cisiel stranok
       
    $page = 1;        //cislo aktivnej stranky (default=1)
   
    $spojenie = "SELECT count(*) FROM $inzerciatabulka";
    $numRows = mysql_num_rows(mysql_query($spojenie));
    $rowsPerPage = 10;
    $maxPages = 9;
   
    $numPages = ceil($numRows/$rowsPerPage);     //pocet stranok v strankovani
   
    if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) {
       $page = $_GET[PAGEVAR];
    }
   
    $offset = ($page - 1) * $rowsPerPage;
   
    $spojenie = "SELECT * FROM $inzerciatabulka ORDER BY id_inzercia DESC LIMIT $offset,$rowsPerPage";
    $vysledok = mysql_query($spojenie);
    if($vysledok!==false) {
 
    while (list($vypis = MySQL_Fetch_Assoc($vysledok)) {
    echo "<div id=\"inzerat\">
    <div class=\"umiestnenievpravo\">inzerat ID: <b>".$vypis['id_inzercia']."</b></div>
    Inzerát pridaný dňa: ".$vypis['datum_inzercia']." o ".$vypis['cas_inzercia']."
    <center><b><font size=\"3\">".$vypis['titulok_inzercia']."</font></b></center><br>
    ".$vypis['popis_inzercia']."
    <center>..............................................................................................................................................................</center>
    <center>Odoslané užívateľom: <b>".$vypis['smeno_inzercia']."</b> | Poloha: <b>".$vypis['status_poloha']."</b> | Cena: <font color=\"red\"><b>".$vypis['cena_inzercia']."</b></font> € s DPH</center>
    </div>
    ";
           }
        }
    echo pagination($numRows, $rowsPerPage, $maxPages);
?>


Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 26.01.2009 22:45

tu mas chybu:
Kód:
while (list($vypis = MySQL_Fetch_Assoc($vysledok)) {

ma tam byt
Kód:
while ($vypis = MySQL_Fetch_Assoc($vysledok)) {







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok Napísal autor témyOffline : 26.01.2009 22:46

Oki to preslo ale teraz pise ... ze Fatal error: Call to undefined function: pagination() in /domains1//public/www_root/newportal/zobrazinzerat.php on line 46
teda v riadku

echo pagination($numRows, $rowsPerPage, $maxPages);
ten co je uplne na konci ...


Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 26.01.2009 22:50

musis tam tu funkciu vlozit alebo includnut...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok Napísal autor témyOffline : 26.01.2009 22:51

boze ja som blb ... uz chapem ... spravil som to ale ukazuje mi len desat sprav a dost ... aj ked je ich v databaze viac ...

Kód:
<?
function pagination($numRows, $rowsPerPage, $maxPages=15)
{
   global $page, $numPages;

   $ret = "";

    if($numPages>0) {
      $page = 1;        //cislo aktivnej stranky (default=1)
      $from = 1;        //cislo stranky, od ktoreho sa zacina strankovanie
      $to = $numPages;    //cislo stranky, kde strankovanie konci
      $padd_a = ceil($maxPages/2);  //pre pozicovanie cisla aktivnej stranky v strankovani
      $padd_b = floor($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani
       
      //vypocitanie prveho a posledneho cisla stranky v strankovani (pre potreby for cyklu)
      if($page >= $maxPages) {
         $from = $page - $maxPages + $padd_a;
         $to = $from + $maxPages - 1;
         
         if($page == $numPages || $page + $padd_b >= $numPages) {
            $to = $numPages;
            $from = $to - $maxPages + 1;
         }
      }
       
      //odkaz na prvu stranku
      $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,1).'">&lt;&lt;</a>' : '&lt;&lt;').'&nbsp;';
       
      //odkaz na predoslu stranku
      $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,$page-1).'">&lt;</a>' : '&lt;').'&nbsp;';
       
      //strankovanie
      for($i = $from; $i <= $to; $i++) {
         if(--$maxPages >= 0) {
            if($page == $i) {
                 $ret .= $i;    //aktivna stranka
            } else {
                 $ret .= '<a href="'.generateURL(PAGEVAR,$i).'">'.$i.'</a>'; //ostatne stranky
            }
            $ret .= DELIMITER;
         } else {
            break;
         }
      }
       
      //odstranenie oddelovaca za poslednou strankou
      $ret = substr($ret,0,-strlen(DELIMITER)).'&nbsp;';
       
      //odkaz na nasledujucu stranku
      $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$page+1).'">&gt;</a>' : '&gt;').'&nbsp;';
       
      //odkaz na poslednu stranku
      $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$numPages).'">&gt;&gt;</a>' : '&gt;&gt;');
       
      return $ret;
   }
   
   return false;
}
?>

<?php
session_start();
   include "databaza.php";
   $spojenie = MySQL_Connect("$dbserver" , "$dbuzivatel" , "$dbheslo");
   MySQL_Select_DB("$db", $spojenie);
   if (!$spojenie):
      echo "<center>Pripojenie sa nezdarilo!</center>";
      else:
      echo "";
   endif;
   
   define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
   define("DELIMITER", " | ");   //oddelovac cisiel stranok
       
    $page = 1;        //cislo aktivnej stranky (default=1)
   
    $spojenie = "SELECT count(*) FROM $inzerciatabulka";
    $numRows = mysql_num_rows(mysql_query($spojenie));
    $rowsPerPage = 10;
    $maxPages = 9;
   
    $numPages = ceil($numRows/$rowsPerPage);     //pocet stranok v strankovani
   
    if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) {
       $page = $_GET[PAGEVAR];
    }
   
    $offset = ($page - 1) * $rowsPerPage;
   
    $spojenie = "SELECT * FROM $inzerciatabulka ORDER BY id_inzercia DESC LIMIT $offset,$rowsPerPage";
    $vysledok = mysql_query($spojenie);
    if($vysledok!==false) {
 
    while ($vypis = MySQL_Fetch_Assoc($vysledok)) {
    echo "<div id=\"inzerat\">
    <div class=\"umiestnenievpravo\">inzerat ID: <b>".$vypis['id_inzercia']."</b></div>
    Inzerát pridaný dňa: ".$vypis['datum_inzercia']." o ".$vypis['cas_inzercia']."
    <center><b><font size=\"3\">".$vypis['titulok_inzercia']."</font></b></center><br>
    ".$vypis['popis_inzercia']."
    <center>..............................................................................................................................................................</center>
    <center>Odoslané užívateľom: <b>".$vypis['smeno_inzercia']."</b> | Poloha: <b>".$vypis['status_poloha']."</b> | Cena: <font color=\"red\"><b>".$vypis['cena_inzercia']."</b></font> € s DPH</center>
    </div>
    ";
           }
        }
    echo pagination($numRows, $rowsPerPage, $maxPages);
?>


Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 26.01.2009 22:57

ved tak si to chcel, 10 sprav na stranu :)







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok Napísal autor témyOffline : 26.01.2009 23:00

jj to je ok, ale mam ich v databaze asi 16 ... a malo by dole ukazat c. 2 a ked nan kliknem tak potom na dalsej ukazat zvysnych 6 ... a tam c. 2 nieje len 1tka a <<>> tiesto sipky


Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 26.01.2009 23:04

inak ta funkcia pouziva este jednu - generateURL(), ktoru si tam tiez vloz :)

toto si uprav:
Kód:
$spojenie = "SELECT count(*) FROM $inzerciatabulka";
$numRows = mysql_num_rows(mysql_query($sql));

na:
Kód:
$spojenie = "SELECT count(*) as pocet FROM inzercia";
$res = mysql_fetch_assoc(mysql_query($spojenie));
$numRows = $res['pocet'];

a zakomentuj si nasledujuci riadok vo funkcii pagination():
Kód:
$page = 1;        //cislo aktivnej stranky (default=1)

asi som to odtial nejak zabudol odstranit... uz som to v tom skripte upravil...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok Napísal autor témyOffline : 27.01.2009 8:36

Neviem ci som taky mantavy ale nefunguje mi to ... tu je cely moj kod mrkni sa nan pls.

funkcia je includnuty subor strankovanie.php

Kód:
<?php
session_start();
   include "databaza.php";
   include "strankovanie.php";
include "generateurl.php";
   $spojenie = MySQL_Connect("$dbserver" , "$dbuzivatel" , "$dbheslo");
   MySQL_Select_DB("$db", $spojenie);
   if (!$spojenie):
      echo "<center>Pripojenie sa nezdarilo!</center>";
      else:
      echo "";
   endif;
    define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
    define("DELIMITER", " | ");   //oddelovac cisiel stranok
       
    $page = 1;        //cislo aktivnej stranky (default=1)
   
    $spojenie = "SELECT count(*) as pocet FROM $inzerciatabulka";
    $res = mysql_fetch_assoc(mysql_query($spojenie));
    $numRows = $res['pocet'];
    $rowsPerPage = 10;
    $maxPages = 9;
   
    $numPages = ceil($numRows/$rowsPerPage);     //pocet stranok v strankovani
   
    if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) {
       $page = $_GET[PAGEVAR];
    }
   
    $offset = ($page - 1) * $rowsPerPage;
   
    $spojenie = "SELECT * FROM $inzerciatabulka ORDER BY id_inzercia DESC LIMIT $offset,$rowsPerPage";
    $res = mysql_query($spojenie);
    if($res!==false) {
   while($vypis = mysql_fetch_Array($res)) {
    echo "<div id=\"inzerat\">
    <div class=\"umiestnenievpravo\">inzerat ID: <b>".$vypis['id_inzercia']."</b></div>
    Inzerát pridaný dňa: ".$vypis['datum_inzercia']." o ".$vypis['cas_inzercia']."
    <center><b><font size=\"3\">".$vypis['typ_inzercia'].": <font size=\"2\">".$vypis['titulok_inzercia']."</font></font></b></center><br>
    ".$vypis['popis_inzercia']."
    <center>..............................................................................................................................................................</center>
    <center>Odoslané užívateľom: <b>".$vypis['smeno_inzercia']."</b> | Poloha: <b>".$vypis['status_poloha']."</b> | Cena: <font color=\"red\"><b>".$vypis['cena_inzercia']."</b></font> € s DPH</center>
    </div>
    ";
           }
        }
    echo pagination($numRows, $rowsPerPage, $maxPages);
?>


uz vie ze to ma by na dvoch stranach ale odkaz na stranu 2 nefunguje :( :cry:


Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 27.01.2009 9:49

a zakomentoval si si ten riadok vo funkcii pagination? alebo si rovno skopci novu verziu funkcie z temy pre casto pouzivane skripty...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok Napísal autor témyOffline : 27.01.2009 10:11

No skopcil som novu verziu :roll:


Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 27.01.2009 10:12

a nejde? vcera som to skusil u mna, spravil som zmeny, ktore som pisal vyssie a vsetko slo ako po masle...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok Napísal autor témyOffline : 27.01.2009 10:17

Aha ... bo ja mam take stastie ye mne nic nejde nikdz ;) ja ti skopnem tie tri kody ktore mam a ty hned zistis preco mi to nejde ... este takto pise mi tuto chybu >
Kód:
Warning: Invalid argument supplied for foreach() in /t/newportal/generovanieurl.php on line 31


generovanieurl.php
Kód:
<?php
function generateURL()
{
   global $pageDir,$arrRules;
   
   $GET = $_GET;

   $num_args = func_num_args();
   if($num_args>0 && $num_args%2==0) {
      $args = func_get_args();

      foreach($args as $index => $paramName) {
           $paramName = trim($paramName);
           
           if($index%2==0 && !empty($paramName)) {
            $paramValue = trim($args[$index+1]);
           
            if(array_key_exists($paramName,$GET)) {
               if(!empty($paramValue)) {
                  $GET[$paramName] = $paramValue;
               } else {
                  unset($GET[$paramName]);
               }
            } else {
               $GET[$paramName] = $paramValue;
            }
         }
      }

      if(count($GET)>0) {
         foreach($arrRules as $eregRule => $arrUrlRule) {
            list($urlRule,$urlMRWRule) = $arrUrlRule;

            parse_str($urlRule,$arrUrlRule);

            if(count($GET)==count($arrUrlRule)) {
               foreach($GET as $key => $value) {
                    if(array_key_exists($key,$arrUrlRule)) {
                     $urlMRWRule = str_replace($arrUrlRule[$key],$value,$urlMRWRule);
                  }
               }

               if(eregi("^".$eregRule."$",$urlMRWRule) && strpos($urlMRWRule,'$')===false) {
                  return $pageDir.$urlMRWRule;
               }
            }
         }
      } else {
         return $pageDir;
      }
   }
   
   return $_SERVER['REQUEST_URI'];
}
?>


strankovanie.php
Kód:
<?
function pagination($numRows, $rowsPerPage, $maxPages=15)
{
   global $page, $numPages;

   $ret = "";

    if($numPages>0) {
      if(!isset($page)) {
         $page = 1;        //cislo aktivnej stranky (default=1)
      }
      $from = 1;        //cislo stranky, od ktoreho sa zacina strankovanie
      $to = $numPages;    //cislo stranky, kde strankovanie konci
      $padd_a = ceil($maxPages/2);  //pre pozicovanie cisla aktivnej stranky v strankovani
      $padd_b = floor($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani
     
      //vypocitanie prveho a posledneho cisla stranky v strankovani (pre potreby for cyklu)
      if($page >= $maxPages) {
         $from = $page - $maxPages + $padd_a;
         $to = $from + $maxPages - 1;
         
         if($page == $numPages || $page + $padd_b >= $numPages) {
            $to = $numPages;
            $from = $to - $maxPages + 1;
         }
      }
     
      //odkaz na prvu stranku
      $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,1).'">&lt;&lt;</a>' : '&lt;&lt;').'&nbsp;';
     
      //odkaz na predoslu stranku
      $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,$page-1).'">&lt;</a>' : '&lt;').'&nbsp;';
     
      //strankovanie
      for($i = $from; $i <= $to; $i++) {
         if(--$maxPages >= 0) {
            if($page == $i) {
                 $ret .= $i;    //aktivna stranka
            } else {
                 $ret .= '<a href="'.generateURL(PAGEVAR,$i).'">'.$i.'</a>'; //ostatne stranky
            }
            $ret .= DELIMITER;
         } else {
            break;
         }
      }
     
      //odstranenie oddelovaca za poslednou strankou
      $ret = substr($ret,0,-strlen(DELIMITER)).'&nbsp;';
     
      //odkaz na nasledujucu stranku
      $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$page+1).'">&gt;</a>' : '&gt;').'&nbsp;';
     
      //odkaz na poslednu stranku
      $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$numPages).'">&gt;&gt;</a>' : '&gt;&gt;');
     
      return $ret;
   }
   
   return false;
}
?>


zobrazinzerat.php
Kód:
<?php
session_start();
   include "databaza.php";
   include "strankovanie.php";
   include "generovanieurl.php";
   $spojenie = MySQL_Connect("$dbserver" , "$dbuzivatel" , "$dbheslo");
   MySQL_Select_DB("$db", $spojenie);
   if (!$spojenie):
      echo "<center>Pripojenie sa nezdarilo!</center>";
      else:
      echo "";
   endif;
    define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
    define("DELIMITER", " | ");   //oddelovac cisiel stranok
       
    $page = 1;        //cislo aktivnej stranky (default=1)
   
    $spojenie = "SELECT count(*) as pocet FROM $inzerciatabulka";
    $res = mysql_fetch_assoc(mysql_query($spojenie));
    $numRows = $res['pocet'];
    $rowsPerPage = 10;
    $maxPages = 9;
   
    $numPages = ceil($numRows/$rowsPerPage);     //pocet stranok v strankovani
   
    if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) {
       $page = $_GET[PAGEVAR];
    }
   
    $offset = ($page - 1) * $rowsPerPage;
   
    $spojenie = "SELECT * FROM $inzerciatabulka ORDER BY id_inzercia DESC LIMIT $offset,$rowsPerPage";
    $res = mysql_query($spojenie);
    if($res!==false) {
   while($vypis = mysql_fetch_Array($res)) {
    echo "<div id=\"inzerat\">
    <div class=\"umiestnenievpravo\">inzerat ID: <b>".$vypis['id_inzercia']."</b></div>
    Inzerát pridaný dňa: ".$vypis['datum_inzercia']." o ".$vypis['cas_inzercia']."
    <center><b><font size=\"3\">".$vypis['typ_inzercia'].": <font size=\"2\">".$vypis['titulok_inzercia']."</font></font></b></center><br>
    ".$vypis['popis_inzercia']."
    <center>..............................................................................................................................................................</center>
    <center>Odoslané užívateľom: <b>".$vypis['smeno_inzercia']."</b> | Poloha: <b>".$vypis['status_poloha']."</b> | Cena: <font color=\"red\"><b>".$vypis['cena_inzercia']."</b></font> € s DPH</center>
    </div>
    ";
           }
        }
    echo pagination($numRows, $rowsPerPage, $maxPages);
?>


Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 27.01.2009 10:29

heh, ty si aku funkciu skopcil? Mal si tuto http://www.pcforum.sk/post-vp442821.html#442821 a nie MRWgenerateURL :)







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.09.07
Prihlásený: 21.03.24
Príspevky: 263
Témy: 62
Príspevok Napísal autor témyOffline : 27.01.2009 10:47

Ach jaj ja som somarik ...ale tak trosku to fungovalo ... toto uz :D funguje bezvadne ... DAKUJEM VELMI PEKNE !


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.09
Prihlásený: 11.02.10
Príspevky: 723
Témy: 81
Príspevok NapísalOffline : 03.07.2009 9:18

Mam uplne jednoduchu navstevnu knihu ktora sa takto uklada
Kód:
<hr color=black> 01/07/2009  14:57:38 &nbsp;root;<br><br>
<hr color=black> 01/07/2009  14:57:15 &nbsp;root;<br><br>
<hr color=black> 01/07/2009  14:57:15 &nbsp;root;<br><br>


Chcel by som nanej pochopit ako kontrolovat vystup ext. suborov.
V kode mam subor vlozeny pomocou include a chcel by som mat podkontrolou kolko krat vyde ---<br><br>--- ako nato pls?


Offline

Čestný člen
Čestný člen
PHP a stránkovanie

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 03.07.2009 9:33

substr_count()


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.09
Prihlásený: 11.02.10
Príspevky: 723
Témy: 81
Príspevok NapísalOffline : 03.07.2009 9:39

dakujem a este ako by som mohol daky text zamenit za iny?

nasiel som daco taketo

substr_replace(" world","earth",6);

je sposob ako sa vyhnut tretiemu parametru alebo treba aj ten vzdy?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.05.09
Prihlásený: 07.10.13
Príspevky: 63
Témy: 20
Bydlisko: Košice
Príspevok NapísalOffline : 03.07.2009 10:06

Citácia:
dakujem a este ako by som mohol daky text zamenit za iny?

nasiel som daco taketo

substr_replace(" world","earth",6);

je sposob ako sa vyhnut tretiemu parametru alebo treba aj ten vzdy?


tretim nastavujes odkial ma zacat nahradzovat, ak chces cely retazec tak tam das 0

potom je stvrty nepovinny parameter kde nastavis kolko znakov ma nahradit... to je uz nepovinne


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.09
Prihlásený: 11.02.10
Príspevky: 723
Témy: 81
Príspevok NapísalOffline : 03.07.2009 10:07

pekne dakujem


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.09
Prihlásený: 11.02.10
Príspevky: 723
Témy: 81
Príspevok NapísalOffline : 03.07.2009 11:05

Pardon, ale este by som potreboval pomoct z nacitanim a vystupom ext suboru. pouzil som toto
Kód:
$chat_load = fopen($chat,"r");
.
.
.
 echo $chat_load ;

a aj ked vynecham upravy tak mi vyhodi chybu
Citácia:
Resource id #11


include $chat; funguje


Offline

Správca fóra
Správca fóra
PHP a stránkovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 03.07.2009 11:08

1. Edituj si prispevky
2. Co to ma spolocne so strankovanim?! Pouzi vyhladavanie alebo pozri do dokumentacie







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Odpovedať na tému [ Príspevkov: 32 ] Choď na stránku: 1, 2 ďalšia


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. PHP stránkovanie v dive - znemožní stránkovanie

v PHP, ASP

7

545

24.07.2011 12:44

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MySQL a PHP stránkovanie

v Databázy

1

809

22.04.2011 15:21

walther Zobrazenie posledných príspevkov

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

v PHP, ASP

12

1012

01.10.2009 18:08

dessert Zobrazenie posledných príspevkov

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

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

v PHP, ASP

35

2252

13.01.2008 14:11

ROmario Zobrazenie posledných príspevkov

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

v PHP, ASP

7

544

03.05.2008 11:24

qacer Zobrazenie posledných príspevkov

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

v JavaScript, VBScript, Ajax

3

627

09.01.2009 12:47

rooobertek Zobrazenie posledných príspevkov

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

v PHP, ASP

6

346

30.09.2014 22:20

shaggy Zobrazenie posledných príspevkov

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

v PHP, ASP

0

361

12.03.2010 10:35

speedy Zobrazenie posledných príspevkov

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

v PHP, ASP

3

463

17.02.2009 16:11

Blackshadow Zobrazenie posledných príspevkov

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

v Databázy

12

861

07.11.2007 20:22

tatysp Zobrazenie posledných príspevkov

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

v PHP, ASP

2

334

25.06.2012 14:57

Slavci Zobrazenie posledných príspevkov

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

v PHP, ASP

13

622

30.07.2014 16:42

2xxx Zobrazenie posledných príspevkov

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

v PHP, ASP

22

1401

26.06.2008 23:31

Blackshadow Zobrazenie posledných príspevkov

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

v PHP, ASP

5

1327

29.09.2006 21:19

atdesign Zobrazenie posledných príspevkov

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

v Ostatné programy

2

1710

03.03.2009 15:47

slavo285 Zobrazenie posledných príspevkov

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

v PHP, ASP

9

631

03.10.2007 20:38

juho 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