Obsah fóra
PravidláRegistrovaťPrihlásenie




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

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

Registrovaný: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok NapísalOffline : 20.02.2009 21:44

zdravim...viem ze tem o strankovani je tu plno, ale neviem ho vhodne doplnit do mojej knihy navstev...prikladam skript, chcem dosiahnut to ze po 10 pridaniach prispevkov mi ostatne bude davat do novych(1,2,3) teda odkazov...,uplne najjednoduchsie... prosim poradte neviem si rady

Kód:
<?php
// -- Připojení k databázi a správné nastavení češtiny --

// Připojení k databázi.
$db_spojenie = mysqli_connect
  ('server', 'username', 'pass', 'databaza');
 
// Otestování, zda se připojení podařilo.
if (!$db_spojenie)
{
  echo 'Připojení se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysqli_connect_error();
  exit();
}

// Správné nastavení češtiny.
$objekt_vysledku = mysqli_query($db_spojenie, "SET NAMES 'cp1250'");
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysqli_error($db_spojenie);
  exit();
}


// -- Vlož nový zápis, pokud byl odeslán formulářem --

// Test, jestli přišla data z formuláře.
if (isset($_POST['sprava']))
{
  // Vytvoření SQL příkazu typu INSERT.
  $sql_prikaz =
    "INSERT INTO kniha_navstev(datum,meno,email,zapis) "
    ."VALUES(NOW(),'"
    .mysqli_real_escape_string($db_spojenie,$_POST['meno'])
    ."','"
    .mysqli_real_escape_string($db_spojenie,$_POST['email'])
    ."','"
    .mysqli_real_escape_string($db_spojenie,$_POST['sprava'])
    ."')"
    ;

  // Zaslání SQL příkazu do databáze.
  $objekt_vysledku = mysqli_query($db_spojenie, $sql_prikaz);
 
  if (!$objekt_vysledku)
  {
    echo 'Poslání SQL příkazu se nepodařilo, sorry';
    echo '<br />';
    echo 'Popis chyby: ', mysqli_error($db_spojenie);
    exit();
  }
  echo 'Nový zápis do knihy návštev pridaný.<br />';
}


// -- Vypiš všechny zápisy v knize návštěv --

// Zaslání SQL příkazu do databáze.
$objekt_vysledku = mysqli_query($db_spojenie,
  'SELECT * FROM kniha_navstev order by datum DESC');
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysqli_error($db_spojenie);
  exit();
}

// Zobrazení všech vrácených dat.
while ($riadok = mysqli_fetch_array($objekt_vysledku))
{
  echo '<hr />';
  echo 'Dátum a čas: ',$riadok['datum'],'<br />';
  echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />';
  echo 'Zápis: ',$riadok['zapis'],'<br />';
  echo '<br />';
}
echo '<hr />';

// -- Odpojení od databáze --

// Zavření objektu výsledku, protože už ho nebudeme používat.
mysqli_free_result($objekt_vysledku);
 
// Odpojení od databáze.
if ($db_spojenie)
  mysqli_close($db_spojenie);
?>







_________________
V programovani som novacik tak prosim o strpenie
Offline

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

Registrovaný: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 21.02.2009 9:56

cez toto strankovanie som to skusil implementovat ale neslo to

Kód:
//samotné stránkovanie   
$query="SELECT * FROM kniha_navstev ORDER BY id";   
$result=mysql_query($query, $link) or die ("Spojenie s databázou bolo neúspešné");   
$num=mysql_num_rows($result);   
//$ctrl je pomocná premenná   
if ($ctrl1<>1)   
{   
    $strana=1;   
}//endif   
$limit=20;   
$celkovy_pocet=$num;   
$pocet_stran=ceil($celkovy_pocet/$limit);   
$pociatok=($strana*$limit)-$limit;   
 
for ($i=1; $i<=$pocet_stran; $i++)   
{   
    if ($i<>$strana)   
    {   
        echo "<a href=\"index.php?ctrl=1&strana=",$i,"\">",$i,"</a> | ";   
    }   
    else   
    {   
        echo "<font color=\"#FF0000\">",$i,"</font> | ";   
    }//endif   
}//endfor   
 
if ($strana<>$pocet_stran)   
{   
    echo "<a href=\"index.php?ctrl=1&strana=",$strana+1,"\">nasledujúca strana</a>";   
}//endif   
echo "</p>";   
 
//výpis danej množiny prvkov   
$query="SELECT * FROM kniha_navstev ORDER BY id DESC LIMIT $pociatok, $limit";   
$result=mysql_query($query, $link) or die ("Spojenie s databázou bolo neúspešné");   
$num=mysql_num_rows($result);   
while ($row=mysql_fetch_array($result))   
{   
    echo "<p><i>",$row["text"],"</i></p> 
    ";   
}//end while   
mysql_free_result($result);   
?>   
</body>   
</html>   







_________________
V programovani som novacik tak prosim o strpenie
Offline

Správca fóra
Správca fóra
php,mysql strankovani

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

vyskusaj si toto http://www.pcforum.sk/post-vp460968.html#460968







_________________
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ý: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 21.02.2009 10:12

dobre, a staci ked to zaradim do mojho skriptu na koniec...ci musim vnorovat funkcie priamo donho...nejako takto
Kód:
// Připojení k databázi.
$db_spojenie = mysqli_connect
  ('server', 'user', 'pass', 'tabulka');
 
// Otestování, zda se připojení podařilo.
if (!$db_spojenie)
{
  echo 'Připojení se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysqli_connect_error();
  exit();
}

// Správné nastavení češtiny.
$objekt_vysledku = mysqli_query($db_spojenie, "SET NAMES 'cp1250'");
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysqli_error($db_spojenie);
  exit();
}


// -- Vlož nový zápis, pokud byl odeslán formulářem --

// Test, jestli přišla data z formuláře.
if (isset($_POST['sprava']))
{
  // Vytvoření SQL příkazu typu INSERT.
  $sql_prikaz =
    "INSERT INTO kniha_navstev(datum,meno,email,zapis) "
    ."VALUES(NOW(),'"
    .mysqli_real_escape_string($db_spojenie,$_POST['meno'])
    ."','"
    .mysqli_real_escape_string($db_spojenie,$_POST['email'])
    ."','"
    .mysqli_real_escape_string($db_spojenie,$_POST['sprava'])
    ."')"
    ;

  // Zaslání SQL příkazu do databáze.
  $objekt_vysledku = mysqli_query($db_spojenie, $sql_prikaz);
 
  if (!$objekt_vysledku)
  {
    echo 'Poslání SQL příkazu se nepodařilo, sorry';
    echo '<br />';
    echo 'Popis chyby: ', mysqli_error($db_spojenie);
    exit();
  }
  echo 'Nový zápis do knihy návštev pridaný.<br />';
}


// -- Vypiš všechny zápisy v knize návštěv --

// Zaslání SQL příkazu do databáze.
$objekt_vysledku = mysqli_query($db_spojenie,
  'SELECT * FROM kniha_navstev order by datum DESC');
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysqli_error($db_spojenie);
  exit();
}

// Zobrazení všech vrácených dat.
while ($riadok = mysqli_fetch_array($objekt_vysledku))
{
  echo '<hr />';
  echo 'Dátum a čas: ',$riadok['datum'],'<br />';
  echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />';
  echo 'Zápis: ',$riadok['zapis'],'<br />';
  echo '<br />';
}



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;
}
?>







_________________
V programovani som novacik tak prosim o strpenie
Offline

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

Registrovaný: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 21.02.2009 15:33

databaza ide aj pridavanie prispevkov a ked pridam 5 prispevkov na stranku dalej sa vytvori odkaz na dalsiu ale prispevky stale pridava na prvu a po kliknuti mi ukaze len Error 404 - Not Found
The requested URL /index.php was not found on this server.
Požadovaná stránka /index.php nebyla nalezena.
stranku si mozete pozriet http://www.infinity.yw.sk/kniha_navstev.php

Kód:
<?   
  $dbServer = " ";   
$dbUser = " ";   
$dbPassword = " ";   
$dbName = " ";   
$link=mysql_pconnect ($dbServer,$dbUser,$dbPassword) or die ("Spojenie neúspešné.");   
$db = mysql_select_db($dbName, $link) or die ("Nepodarilo sa otvoriť databázu.");


$query="SELECT * FROM kniha_navstev ORDER BY datum";   
$result=mysql_query($query, $link) or die ("Spojenie s databázou bolo neúspešné");   
$num=mysql_num_rows($result);   
//$ctrl je pomocná premenná   

if ($ctrl1<>1)   
{   
    $strana=1;   
}//endif   
$limit=5;   
$celkovy_pocet=$num;   
$pocet_stran=ceil($celkovy_pocet/$limit);   
$pociatok=($strana*$limit)-$limit;   
 
for ($i=1; $i<=$pocet_stran; $i++)   
{   
    if ($i<>$strana)   
    {   
        echo "<a href=\"index.php?ctrl=1&strana=",$i,"\">",$i,"</a> | ";   
    }   
    else   
    {   
        echo "<font color=\"#FF0000\">",$i,"</font> | ";   
    }//endif   
}//endfor   
 
if ($strana<>$pocet_stran)   
{   
    echo "<a href=\"index.php?ctrl=1&strana=",$strana+1,"\">nasledujúca strana</a>";   
}//endif   
echo "</p>";   
   // -- Připojení k databázi a správné nastavení češtiny --

// Připojení k databázi.
$db_spojenie = mysqli_connect
  ('server', 'user', 'heslo', 'tabulka');
// Otestování, zda se připojení podařilo.
if (!$db_spojenie)
{
  echo 'Připojení se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysqli_connect_error();
  exit();
}

// Správné nastavení češtiny.
$objekt_vysledku = mysqli_query($db_spojenie, "SET NAMES 'cp1250'");
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysqli_error($db_spojenie);
  exit();
}


// -- Vlož nový zápis, pokud byl odeslán formulářem --

// Test, jestli přišla data z formuláře.
if (isset($_POST['sprava']))
{
  // Vytvoření SQL příkazu typu INSERT.
  $sql_prikaz =
    "INSERT INTO kniha_navstev(datum,meno,email,zapis) "
    ."VALUES(NOW(),'"
    .mysqli_real_escape_string($db_spojenie,$_POST['meno'])
    ."','"
    .mysqli_real_escape_string($db_spojenie,$_POST['email'])
    ."','"
    .mysqli_real_escape_string($db_spojenie,$_POST['sprava'])
    ."')"
    ;

  // Zaslání SQL příkazu do databáze.
  $objekt_vysledku = mysqli_query($db_spojenie, $sql_prikaz);
 
  if (!$objekt_vysledku)
  {
    echo 'Poslání SQL příkazu se nepodařilo, sorry';
    echo '<br />';
    echo 'Popis chyby: ', mysqli_error($db_spojenie);
    exit();
  }
  echo 'Nový zápis do knihy návštev pridaný.<br />';
}


// -- Vypiš všechny zápisy v knize návštěv --

// Zaslání SQL příkazu do databáze.
$objekt_vysledku = mysqli_query($db_spojenie,
  'SELECT * FROM kniha_navstev order by datum DESC');
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysqli_error($db_spojenie);
  exit();
}

// Zobrazení všech vrácených dat.
while ($riadok = mysqli_fetch_array($objekt_vysledku))
{
  echo '<hr />';
  echo 'Dátum a čas: ',$riadok['datum'],'<br />';
  echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />';
  echo 'Zápis: ',$riadok['zapis'],'<br />';
  echo '<br />';
}
?>   
</body>   
</html>     


<form name="kniha" action="" method="post">
<b>Meno:</b><br />
<input name="meno" size="40"><br />
<br />
<b>Mail:</b><br />
<input name="email" size="40"><br />
<br />
<b>Správa:</b><br />
<textarea name="sprava" rows="5" cols="30"></textarea><br />
<br />
<input type="submit" value="Odoslať správu">
</form>
</body>   
</html>

</body>
</html>







_________________
V programovani som novacik tak prosim o strpenie
Offline

Správca fóra
Správca fóra
php,mysql strankovani

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 21.02.2009 19:39

namiesto index.php si daj kniha_navstev.php a pozri si poriadne, ako sa funkcia pagination pouziva...

do buducna ta este poprosim nezverejnovat skripty z temy Uzitocne a casto pouzivane skripty na inych forach bez uvedenia zdroja pripadne autora...







_________________
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ý: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 21.02.2009 22:01

prepac to som si ani neuvedomil...v tomto druhom skripte co sa pokusam vnorit do mojej knihy navstev pagination nie je, doplnil som limit ale
Kód:
$query="SELECT * FROM kniha_navstev order by datum DESC limit $pociatok, $limit";     
$result=mysql_query($query, $link) or die ("Spojenie s databázou bolo neúspešné");     
$num=mysql_num_rows($result);     
//$ctrl je pomocná premenná   skusil som to takto ale pise ze spojenie bolo neuspesne
[/code]







_________________
V programovani som novacik tak prosim o strpenie
Offline

Správca fóra
Správca fóra
php,mysql strankovani

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

Vyskusaj tento skript (cisto len vypis prispevkov a strankovanie), dopln si tam potrebne funkcie a pripojenie k db... skusal som to u seba a ide to v pohode...
Kód:
<?php
//funkcia generateURL()
//funkcia pagination()
//pripojenie k db

define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
define("DELIMITER", " | ");   //oddelovac cisiel stranok
   
$page = 1;        //cislo aktivnej stranky (default=1)

$rowsPerPage = 10;
$maxPages = 9;

$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev"));
$numRows = $res['pocet'];

$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 kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage";
$res = mysql_query($sql);
if($res!==false) {
   while($riadok = mysql_fetch_row($res)) {
      echo $riadok['zapis']."<br>";
   }
}

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







_________________
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ý: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 21.02.2009 23:02

skontrolujes pls ci som aspon tie funkcie dobre skopcil:
Kód:
<?php
string generateURL(){
   $GET = $_GET;
   $QUERY_STRING = '';
   $SCRIPT_NAME = substr(strrchr($_SERVER["SCRIPT_NAME"],"/"),1);
   
   $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) && empty($paramValue)) {
               unset($GET[$paramName]);   
            } elseif(!empty($paramValue)) {
               $GET[$paramName] = $paramValue;
            }
         }
      }
   }
   
   foreach($GET as $param => $value) {
      $QUERY_STRING .= $param."=".$value."&amp;";
   }
   
   return $SCRIPT_NAME.((empty($QUERY_STRING)) ? '' : "?".substr($QUERY_STRING,0,-5));
}
 
string 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;
}
$db_spojenie = mysqli_connect
  ('server', 'user', 'pass', 'table');

define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
define("DELIMITER", " | ");   //oddelovac cisiel stranok
   
$page = 1;        //cislo aktivnej stranky (default=1)

$rowsPerPage = 10;
$maxPages = 9;

$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev"));
$numRows = $res['pocet'];

$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 kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage";
$res = mysql_query($sql);
if($res!==false) {
   while($riadok = mysql_fetch_row($res)) {
      echo $riadok['zapis']."<br>";
   }
}

echo pagination($numRows, $rowsPerPage, $maxPages);
?>
[/code]







_________________
V programovani som novacik tak prosim o strpenie
Offline

Správca fóra
Správca fóra
php,mysql strankovani

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

preco si dal namiesto "function" string? pripajas sa cez mysqli a potom pouzivas mysql







_________________
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ý: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 21.02.2009 23:14

stenley píše:
preco si dal namiesto "function" string? pripajas sa cez mysqli a potom pouzivas mysql
aha no ja som z tych uzitocnych skriptov skusal ze ked mi neslo s function tak som skusil string...mysqli som uz zmenil, Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/free/yw.sk/i/infinity/root/www/kniha_navstev.php on line 102 to je tento riadok

Kód:
$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev"));







_________________
V programovani som novacik tak prosim o strpenie
Offline

Správca fóra
Správca fóra
php,mysql strankovani

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

sql je v pohode, takze nie si pripojeny k db...







_________________
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ý: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 21.02.2009 23:32

stenley píše:
sql je v pohode, takze nie si pripojeny k db...
myslim ze hej aj udaje mam dobre zadane(samozrejme neuvadzam)
Kód:
 $db_spojenie = mysql_connect
  ('server', 'user', 'pass', 'table');
if (!$db_spojenie)
{
  echo 'Připojení se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysqli_connect_error();
  exit();
}







_________________
V programovani som novacik tak prosim o strpenie
Offline

Správca fóra
Správca fóra
php,mysql strankovani

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

to "table" je akoze co? a vyber aktivnej db mas kde?







_________________
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

Čestný člen
Čestný člen
php,mysql strankovani

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

Ach, nemozes miesat jedno z druhym... pouzivaj vsade len mysqli_* alebo len mysql_* funkcie. Nie jedno aj druhe dokopy. Trosku sa lisi aj zapis tychto funkcii, napriklad ak pouzivas mysql, databazu vyberas pomocou mysql_select_db() a nie pomocou 4. parametra ako v pripade mysqli.


Offline

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

Registrovaný: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 22.02.2009 10:06

stenley píše:
to "table" je akoze co? a vyber aktivnej db mas kde?
na miesto table uvadzam nazov databazy len tu som sa pomylil a naznacil ze je to tabulka

Ďuri píše:
Ach, nemozes miesat jedno z druhym... pouzivaj vsade len mysqli_* alebo len mysql_* funkcie. Nie jedno aj druhe dokopy. Trosku sa lisi aj zapis tychto funkcii, napriklad ak pouzivas mysql, databazu vyberas pomocou mysql_select_db() a nie pomocou 4. parametra ako v pripade mysqli.
ano viem uz ma na to stenley upozornoval a ja som to zas zle napisal, kazdopadne dole uvedene varovanie ci chybu mi stale vypisuje

tak takto som sa to pokusil spojit,
funkcia generate url
funkcia pagination
pripojenie k db
a samotny vypis
Kód:
<?php
function generateURL(){
   $GET = $_GET;
   $QUERY_STRING = '';
   $SCRIPT_NAME = substr(strrchr($_SERVER["SCRIPT_NAME"],"/"),1);
   
   $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) && empty($paramValue)) {
               unset($GET[$paramName]);   
            } elseif(!empty($paramValue)) {
               $GET[$paramName] = $paramValue;
            }
         }
      }
   }
   
   foreach($GET as $param => $value) {
      $QUERY_STRING .= $param."=".$value."&amp;";
   }
   
   return $SCRIPT_NAME.((empty($QUERY_STRING)) ? '' : "?".substr($QUERY_STRING,0,-5));
}
 
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;
}
$db_spojenie = mysql_connect
  ('mysql.ic.cz', 'user', 'heslo', 'databaza');
if (!$db_spojenie)
{
  echo 'Připojení se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysql_connect_error();
  exit();
}

define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
define("DELIMITER", " | ");   //oddelovac cisiel stranok
   
$page = 1;        //cislo aktivnej stranky (default=1)

$rowsPerPage = 10;
$maxPages = 9;

$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev"));
$numRows = $res['pocet'];

$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 kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage";
$res = mysql_query($sql);
if($res!==false) {
   while($riadok = mysql_fetch_row($res)) {
      echo $riadok['zapis']."<br>";
   }
}

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

// Správné nastavení češtiny.
$objekt_vysledku = mysql_query($db_spojenie, "SET NAMES 'cp1250'");
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysql_error($db_spojenie);
  exit();
}


// -- Vlož nový zápis, pokud byl odeslán formulářem --

// Test, jestli přišla data z formuláře.
if (isset($_POST['sprava']))
{
  // Vytvoření SQL příkazu typu INSERT.
  $sql_prikaz =
    "INSERT INTO kniha_navstev(datum,meno,email,zapis) "
    ."VALUES(NOW(),'"
    .mysql_real_escape_string($db_spojenie,$_POST['meno'])
    ."','"
    .mysql_real_escape_string($db_spojenie,$_POST['email'])
    ."','"
    .mysql_real_escape_string($db_spojenie,$_POST['sprava'])
    ."')"
    ;

  // Zaslání SQL příkazu do databáze.
  $objekt_vysledku = mysql_query($db_spojenie, $sql_prikaz);
 
  if (!$objekt_vysledku)
  {
    echo 'Poslání SQL příkazu se nepodařilo, sorry';
    echo '<br />';
    echo 'Popis chyby: ', mysql_error($db_spojenie);
    exit();
  }
  echo 'Nový zápis do knihy návštev pridaný.<br />';
}


// -- Vypiš všechny zápisy v knize návštěv --

// Zaslání SQL příkazu do databáze.
$objekt_vysledku = mysql_query($db_spojenie,
  'SELECT * FROM kniha_navstev order by datum DESC');
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysql_error($db_spojenie);
  exit();
}

// Zobrazení všech vrácených dat.
while ($riadok = mysql_fetch_array($objekt_vysledku))
{
  echo '<hr />';
  echo 'Dátum a čas: ',$riadok['datum'],'<br />';
  echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />';
  echo 'Zápis: ',$riadok['zapis'],'<br />';
  echo '<br />';
}
?>

<form name="kniha" action="" method="post">
<b>Meno:</b><br />
<input name="meno" size="40"><br />
<br />
<b>Mail:</b><br />
<input name="email" size="40"><br />
<br />
<b>Správa:</b><br />
<textarea name="sprava" rows="5" cols="30"></textarea><br />
<br />
<input type="submit" value="Odoslať správu">
</form>

tu su chybicky
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/free/yw.sk/i/infinity/root/www/kniha_navstev.php on line 109

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/free/yw.sk/i/infinity/root/www/kniha_navstev.php on line 131
PoslĂĄnĂSQL přĂkazu se nepodařilo, sorry
Popis chyby: No database selected



//edituj si prispevky, lebo to bude povazovane za posthunting! (stenley)







_________________
V programovani som novacik tak prosim o strpenie
Offline

Správca fóra
Správca fóra
php,mysql strankovani

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

uz som ti to pisal aj ja a aj Duri, bud pouzivas syntax mysql_* alebo mysqli_*. Pozri si poriadne, ako sa pracuje s mysql_connect, 4. parameter nie je nazov databazy! ta sa voli cez mysql_select_db()







_________________
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ý: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 22.02.2009 12:18

stenley píše:
uz som ti to pisal aj ja a aj Duri, bud pouzivas syntax mysql_* alebo mysqli_*. Pozri si poriadne, ako sa pracuje s mysql_connect, 4. parameter nie je nazov databazy! ta sa voli cez mysql_select_db()
tak som zmenil to pripojenie k db...len teraz neviem ako mam nahradit premennu $db_spojenie v skripte kedze ju uz nemam zadanu
Kód:
<?php
function generateURL(){
   $GET = $_GET;
   $QUERY_STRING = '';
   $SCRIPT_NAME = substr(strrchr($_SERVER["SCRIPT_NAME"],"/"),1);
   
   $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) && empty($paramValue)) {
               unset($GET[$paramName]);   
            } elseif(!empty($paramValue)) {
               $GET[$paramName] = $paramValue;
            }
         }
      }
   }
   
   foreach($GET as $param => $value) {
      $QUERY_STRING .= $param."=".$value."&amp;";
   }
   
   return $SCRIPT_NAME.((empty($QUERY_STRING)) ? '' : "?".substr($QUERY_STRING,0,-5));
}
 
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;
}

mysql_connect("mysql.ic.cz", "uzivatel", "heslo");
mysql_select_db("databaza");


define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
define("DELIMITER", " | ");   //oddelovac cisiel stranok
   
$page = 1;        //cislo aktivnej stranky (default=1)

$rowsPerPage = 10;
$maxPages = 9;

$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev"));
$numRows = $res['pocet'];

$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 kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage";
$res = mysql_query($sql);
if($res!==false) {
   while($riadok = mysql_fetch_row($res)) {
      echo $riadok['zapis']."<br>";
   }
}

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

// Správné nastavení češtiny.
$objekt_vysledku = mysql_query($db_spojenie, "SET NAMES 'cp1250'");
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysql_error($db_spojenie);
  exit();
}


// -- Vlož nový zápis, pokud byl odeslán formulářem --

// Test, jestli přišla data z formuláře.
if (isset($_POST['sprava']))
{
  // Vytvoření SQL příkazu typu INSERT.
  $sql_prikaz =
    "INSERT INTO kniha_navstev(datum,meno,email,zapis) "
    ."VALUES(NOW(),'"
    .mysql_real_escape_string($db_spojenie,$_POST['meno'])
    ."','"
    .mysql_real_escape_string($db_spojenie,$_POST['email'])
    ."','"
    .mysql_real_escape_string($db_spojenie,$_POST['sprava'])
    ."')"
    ;

  // Zaslání SQL příkazu do databáze.
  $objekt_vysledku = mysql_query($db_spojenie, $sql_prikaz);
 
  if (!$objekt_vysledku)
  {
    echo 'Poslání SQL příkazu se nepodařilo, sorry';
    echo '<br />';
    echo 'Popis chyby: ', mysql_error($db_spojenie);
    exit();
  }
  echo 'Nový zápis do knihy návštev pridaný.<br />';
}


// -- Vypiš všechny zápisy v knize návštěv --

// Zaslání SQL příkazu do databáze.
$objekt_vysledku = mysql_query($db_spojenie,
  'SELECT * FROM kniha_navstev order by datum DESC');
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysql_error($db_spojenie);
  exit();
}

// Zobrazení všech vrácených dat.
while ($riadok = mysql_fetch_array($objekt_vysledku))
{
  echo '<hr />';
  echo 'Dátum a čas: ',$riadok['datum'],'<br />';
  echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />';
  echo 'Zápis: ',$riadok['zapis'],'<br />';
  echo '<br />';
}
?>

<form name="kniha" action="" method="post">
<b>Meno:</b><br />
<input name="meno" size="40"><br />
<br />
<b>Mail:</b><br />
<input name="email" size="40"><br />
<br />
<b>Správa:</b><br />
<textarea name="sprava" rows="5" cols="30"></textarea><br />
<br />
<input type="submit" value="Odoslať správu">
</form>

http://www.infinity.yw.sk/kniha_navstev.php







_________________
V programovani som novacik tak prosim o strpenie
Offline

Čestný člen
Čestný člen
php,mysql strankovani

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 22.02.2009 12:24

Pokial by si pouzival mysqli_query, je syntax takato:
Kód:
mysqli_query($objekt_pripojenia, $sql_dotaz)

Ty ale pouzivas mysql_query, tam su parametre naopak:
Kód:
mysql_query($sql_dotaz, $objekt_pripojenia)


Tak si to musis vsade prehodit. A taktiez aj
Kód:
mysql_connect("mysql.ic.cz", "uzivatel", "heslo");

nahrad s
Kód:
$db_spojenie = mysql_connect("mysql.ic.cz", "uzivatel", "heslo");

Lebo vidim, ze objekt $db_spojenie sa snazis pouzivat, ale nikde si ho nedefinoval.


Offline

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

Registrovaný: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 22.02.2009 12:41

dotazy som prehodil, db spojenie doplnil..dik uz aj volaco vykreslilo len stale je problem ze nevypise dany limit na jednu a potom nedoplna http://www.infinity.yw.sk/kniha_navstev.php

//cast skriptu bez pagination a generate url
Kód:
$db_spojenie = mysql_connect("mysql.ic.cz", "user", "heslo");
mysql_select_db("databaza");


define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
define("DELIMITER", " | ");   //oddelovac cisiel stranok
   
$page = 1;        //cislo aktivnej stranky (default=1)

$rowsPerPage = 10;
$maxPages = 9;

$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev"));
$numRows = $res['pocet'];

$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 kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage";
$res = mysql_query($sql);
if($res!==false) {
   while($riadok = mysql_fetch_row($res)) {
      echo $riadok['zapis']."<br>";
   }
}

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

// Správné nastavení češtiny.
$objekt_vysledku = mysql_query("SET NAMES 'cp1250'", $db_spojenie);
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysql_error($db_spojenie);
  exit();
}


// -- Vlož nový zápis, pokud byl odeslán formulářem --

// Test, jestli přišla data z formuláře.
if (isset($_POST['sprava']))
{
  // Vytvoření SQL příkazu typu INSERT.
  $sql_prikaz =
    "INSERT INTO kniha_navstev(datum,meno,email,zapis) "
    ."VALUES(NOW(),'"
    .mysql_real_escape_string($_POST['meno'],$db_spojenie)
    ."','"
    .mysql_real_escape_string($_POST['email'],$db_spojenie)
    ."','"
    .mysql_real_escape_string($_POST['sprava'],$db_spojenie)
    ."')"
    ;

  // Zaslání SQL příkazu do databáze.
  $objekt_vysledku = mysql_query( $sql_prikaz,$db_spojenie);
 
  if (!$objekt_vysledku)
  {
    echo 'Poslání SQL příkazu se nepodařilo, sorry';
    echo '<br />';
    echo 'Popis chyby: ', mysql_error($db_spojenie);
    exit();
  }
  echo 'Nový zápis do knihy návštev pridaný.<br />';
}


// -- Vypiš všechny zápisy v knize návštěv --

// Zaslání SQL příkazu do databáze.
$objekt_vysledku = mysql_query('SELECT * FROM kniha_navstev order by datum DESC',$db_spojenie);
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysql_error($db_spojenie);
  exit();
}

// Zobrazení všech vrácených dat.
while ($riadok = mysql_fetch_array($objekt_vysledku))
{
  echo '<hr />';
  echo 'Dátum a čas: ',$riadok['datum'],'<br />';
  echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />';
  echo 'Zápis: ',$riadok['zapis'],'<br />';
  echo '<br />';
}
?>







_________________
V programovani som novacik tak prosim o strpenie
Offline

Správca fóra
Správca fóra
php,mysql strankovani

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

prave som si vsimol, ze pouzivas mesiac staru verziu funkcie pagination(), aktualizuj si ju a malo by to ist...







_________________
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ý: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 22.02.2009 13:34

aha no dik prepinanie medzi strankami ide uplne dobre, akurat ked vytvori novy odkaz na dalsiu tak sa tam nepridavaju stale je vsetko v jednej, a to iste vypisuje aj v dalsich http://www.infinity.yw.sk/kniha_navstev.php
Kód:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<html>
<?php
function generateURL(){
   $GET = $_GET;
   $QUERY_STRING = '';
   $SCRIPT_NAME = substr(strrchr($_SERVER["SCRIPT_NAME"],"/"),1);
   
   $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) && empty($paramValue)) {
               unset($GET[$paramName]);   
            } elseif(!empty($paramValue)) {
               $GET[$paramName] = $paramValue;
            }
         }
      }
   }
   
   foreach($GET as $param => $value) {
      $QUERY_STRING .= $param."=".$value."&amp;";
   }
   
   return $SCRIPT_NAME.((empty($QUERY_STRING)) ? '' : "?".substr($QUERY_STRING,0,-5));
}
 
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;
}

$db_spojenie = mysql_connect("mysql.ic.cz", "user", "heslo");
mysql_select_db("databaza");


define("PAGEVAR", "page");    //nazov parametra v GET, kde sa uchovava cislo stranky
define("DELIMITER", " | ");   //oddelovac cisiel stranok
   
$page = 1;        //cislo aktivnej stranky (default=1)

$rowsPerPage = 5;
$maxPages = 9;

$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev"));
$numRows = $res['pocet'];

$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 kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage";
$res = mysql_query($sql);
if($res!==false) {
   while($riadok = mysql_fetch_row($res)) {
      echo $riadok['zapis']."<br>";
   }
}

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

// Správné nastavení češtiny.
$objekt_vysledku = mysql_query("SET NAMES 'cp1250'", $db_spojenie);
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysql_error($db_spojenie);
  exit();
}


// -- Vlož nový zápis, pokud byl odeslán formulářem --

// Test, jestli přišla data z formuláře.
if (isset($_POST['sprava']))
{
  // Vytvoření SQL příkazu typu INSERT.
  $sql_prikaz =
    "INSERT INTO kniha_navstev(datum,meno,email,zapis) "
    ."VALUES(NOW(),'"
    .mysql_real_escape_string($_POST['meno'],$db_spojenie)
    ."','"
    .mysql_real_escape_string($_POST['email'],$db_spojenie)
    ."','"
    .mysql_real_escape_string($_POST['sprava'],$db_spojenie)
    ."')"
    ;

  // Zaslání SQL příkazu do databáze.
  $objekt_vysledku = mysql_query( $sql_prikaz,$db_spojenie);
 
  if (!$objekt_vysledku)
  {
    echo 'Poslání SQL příkazu se nepodařilo, sorry';
    echo '<br />';
    echo 'Popis chyby: ', mysql_error($db_spojenie);
    exit();
  }
  echo 'Nový zápis do knihy návštev pridaný.<br />';
}


// -- Vypiš všechny zápisy v knize návštěv --

// Zaslání SQL příkazu do databáze.
$objekt_vysledku = mysql_query('SELECT * FROM kniha_navstev order by datum DESC',$db_spojenie);
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysql_error($db_spojenie);
  exit();
}

// Zobrazení všech vrácených dat.
while ($riadok = mysql_fetch_array($objekt_vysledku))
{
  echo '<hr />';
  echo 'Dátum a čas: ',$riadok['datum'],'<br />';
  echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />';
  echo 'Zápis: ',$riadok['zapis'],'<br />';
  echo '<br />';
}
?>


<form name="kniha" action="" method="post">
<b>Meno:</b><br />
<input name="meno" size="40"><br />
<br />
<b>Mail:</b><br />
<input name="email" size="40"><br />
<br />
<b>Správa:</b><br />
<textarea name="sprava" rows="5" cols="30"></textarea><br />
<br />
<input type="submit" value="Odoslať správu">
</form>
</html>







_________________
V programovani som novacik tak prosim o strpenie
Offline

Správca fóra
Správca fóra
php,mysql strankovani

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 22.02.2009 13:40

namiesto
Kód:
while($riadok = mysql_fetch_row($res)) {
      echo $riadok['zapis']."<br>";
}

si daj
Kód:
while ($riadok = mysql_fetch_assoc($res))
{
  echo '<hr />';
  echo 'Dátum a čas: ',$riadok['datum'],'<br />';
  echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />';
  echo 'Zápis: ',$riadok['zapis'],'<br />';
  echo '<br />';
}

a v druhej casti skriptu si vymaz nasledujuce riadky, lebo sa ti bude kniha vypisovat 2krat za sebou:
Kód:
// -- Vypiš všechny zápisy v knize návštěv --

// Zaslání SQL příkazu do databáze.
$objekt_vysledku = mysql_query('SELECT * FROM kniha_navstev order by datum DESC',$db_spojenie);
if (!$objekt_vysledku)
{
  echo 'Poslání SQL příkazu se nepodařilo, sorry';
  echo '<br />';
  echo 'Popis chyby: ', mysql_error($db_spojenie);
  exit();
}

// Zobrazení všech vrácených dat.
while ($riadok = mysql_fetch_array($objekt_vysledku))
{
  echo '<hr />';
  echo 'Dátum a čas: ',$riadok['datum'],'<br />';
  echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />';
  echo 'Zápis: ',$riadok['zapis'],'<br />';
  echo '<br />';
}







_________________
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ý: 11.03.08
Prihlásený: 02.04.09
Príspevky: 43
Témy: 8
Príspevok Napísal autor témyOffline : 24.02.2009 15:32

diky moc chalani, pomohli ste mi...a neviete nahodou kde by bola ta funkcia pagination a generate URL popisana obsirnejsie, chcel by som tomu pochopit







_________________
V programovani som novacik tak prosim o strpenie
Offline

Správca fóra
Správca fóra
php,mysql strankovani

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 24.02.2009 15:52

ak sa ti zda popis danych funkcii nedostatocny, napis do temy pre casto pouzivane skripty, comu presne nerozumies, pripadne mi posli ss... inde by si vysvetlenie k tymto funkciam asi nenasiel, kedze nie su "verejne" zname, nakolko ich autorom je moja malickost...







_________________
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ľ
php,mysql strankovani

Registrovaný: 26.07.09
Prihlásený: 19.08.13
Príspevky: 23
Témy: 7
Príspevok NapísalOffline : 24.08.2009 13:08

stenley píše:
ak sa ti zda popis danych funkcii nedostatocny, napis do temy pre casto pouzivane skripty, comu presne nerozumies, pripadne mi posli ss... inde by si vysvetlenie k tymto funkciam asi nenasiel, kedze nie su "verejne" zname, nakolko ich autorom je moja malickost...


mam problem, potrebujem predat dalej pole parametrov z formulara:

Kód:
echo "     <select name="cas[]" id="cas" multiple="multiple" size="10" >";

while ($data = mysql_fetch_assoc($select))
    {
        echo "<option value="".$data['Aktualizovane']."">".$data['Aktualizovane']."</option>\n";
    }

echo "      </select>\n";


a

Kód:
echo "     <select name="kategorie[]" id="kategorie" multiple="multiple" size="10" >";

while ($data = mysql_fetch_assoc($select))
    {
        echo "<option value="".$data['Kategoria']."">".$data['Kategoria']."</option>\n";
    }

echo "      </select>\n";


pocitam s tym, ze kod nie je treba moc upravit, ale zatial sa v nom neorientujem.

namiesto pola sa predava len obycajny parameter.


Offline

Správca fóra
Správca fóra
php,mysql strankovani

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

co to ma spolocne so strankovanim?







_________________
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ľ
php,mysql strankovani

Registrovaný: 26.07.09
Prihlásený: 19.08.13
Príspevky: 23
Témy: 7
Príspevok NapísalOffline : 24.08.2009 13:34

stenley píše:
co to ma spolocne so strankovanim?


prave pri strankovani mam tento problem, obycajne parametre dostanem dalej cez link ale pole parametrov nie

myslim si, ze bude treba upravit tuto cast:

Kód:
   foreach($GET as $param => $value) {
      $QUERY_STRING .= $param."=".$value."&amp;";
   }


Offline

Správca fóra
Správca fóra
php,mysql strankovani

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 24.08.2009 13:55

posielas to cez GET alebo POST? aky format url potrebujes spracovat, nieco ako: param[]=value1&param[]=value2 ?

posledny prispevok sa necituje!


Naposledy upravil stenley dňa 24.08.2009 14:00, celkovo upravené 1






_________________
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ľ
php,mysql strankovani

Registrovaný: 26.07.09
Prihlásený: 19.08.13
Príspevky: 23
Témy: 7
Príspevok NapísalOffline : 24.08.2009 13:59

cez get


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


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. PHP programátor - PHP, MySQL, jQuery,X)Html/CSS

v Ponuka práce

0

1304

02.05.2011 12:08

magicmedia Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php ->mysql ->php Help.zoradit

v PHP, ASP

4

589

20.06.2009 12:44

KViki Zobrazenie posledných príspevkov

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

v PHP, ASP

4

384

23.09.2013 23:50

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP+MySQL, počítadlo

v PHP, ASP

3

814

09.07.2007 18:19

Tominator Zobrazenie posledných príspevkov

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

v PHP, ASP

3

681

21.04.2007 14:08

lukasmakac Zobrazenie posledných príspevkov

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

v PHP, ASP

5

881

20.03.2010 6:24

rooobertek Zobrazenie posledných príspevkov

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

v PHP, ASP

2

429

28.06.2012 18:06

Ďuri Zobrazenie posledných príspevkov

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

v Ostatné

13

1294

06.07.2009 11:37

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Programátor PHP/MySQL

v Ponuka práce

0

838

23.10.2010 17:06

brownsro1 Zobrazenie posledných príspevkov

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

v PHP, ASP

4

600

10.06.2011 23:12

Sunnynko Zobrazenie posledných príspevkov

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

v PHP, ASP

17

416

05.05.2020 19:05

jumper Zobrazenie posledných príspevkov

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

v PHP, ASP

21

1857

02.09.2007 18:51

neopagan Zobrazenie posledných príspevkov

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

v Databázy

9

865

27.12.2015 0:33

Werus Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. PHP, MySQL koder

v Ponuka práce

1

901

12.07.2010 19:50

Murtagh Zobrazenie posledných príspevkov

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

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

v PHP, ASP

30

2133

12.01.2009 13:09

jtomcik Zobrazenie posledných príspevkov

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

v PHP, ASP

16

865

02.05.2010 10:26

zdeniatqo 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