Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP&SQL]Problem z stronnicowaniem
Forum PHP.pl > Forum > Przedszkole
noc_nik
Witam Serdecznie


Mam mały problem z stronnicowaniem

  1. <?php
  2. define("NAZWA_TABELI","news");
  3.    define("NEWS_NA_STRONIE",4);
  4.    
  5.        $escape = mysql_escape_string((int)$_GET['porcja'] * NEWS_NA_STRONIE);
  6.        
  7.  
  8.    if($news=="") {
  9.        switch ($go ) {
  10.            case $nazwa:
  11.                
  12.                $result = mysql_query("SELECT * FROM ".NAZWA_TABELI." LIMIT ".$escape.",".NEWS_NA_STRONIE."") or die (mysql_error());
  13.                while($row = mysql_fetch_array($result)){
  14.                                        
  15.                $news[]=$row;
  16.                }
  17.                                          
  18.                $smarty->assign("news",$news);
  19.                $smarty->display("news.tpl");
  20.    break;
  21.    }
  22.    }
  23. ?>



jak sobie umieszcze :
  1. <?php
  2. SQL_CALC_FOUND_ROWS
  3. ?>


to mi zwraca;
Something is wrong in your syntax obok 'FROM news LIMIT 0,4' w linii 1


Pozdrawiam i Dziekuje za odpowiedzi i pomoc
wookieb
A pokaż jak to umiesciles. Co nam po kodzie php skoro tutaj tylko sql jest wazne...
http://dev.mysql.com/doc/refman/5.0/en/inf...tion_found-rows
yaotzin
Ja sądzę że to powinno być kolejne zapytanie do bazy danych, tym razem zwróci liczbę wierszy w tabeli.

Warto by spojrzeć na to smile.gif http://forum.php.pl/index.php?showtopic=99...;show=&st=0
noc_nik
a moze jakis przyklad jak powinno byc umieszczone ?, bo tak to sie nie bedziemy rozumiec.
wookieb
Cytat(noc_nik @ 30.01.2009, 14:06:24 ) *
a moze jakis przyklad jak powinno byc umieszczone ?, bo tak to sie nie bedziemy rozumiec.


Ślepy czy nierozumny? Przecież w linku który ci podalem masz DOSKONAŁY przykład. Czego ci brakuje? Przeczytania i zrobienia tego za ciebie?
noc_nik
Cytat(wookieb @ 30.01.2009, 16:09:45 ) *
Ślepy czy nierozumny? -> za ciebie?

NC : Moze sobie odpocznij ...



Zmieniłem delikatnie kod:

  1. <?php
  2. include("libs/smarty.class.php");
  3.    $smarty = new Smarty();
  4.    
  5.    include_once("config.php");
  6.        
  7.    define("NAZWA_TABELI","news");
  8.    define("NEWS_NA_STRONIE",1);
  9.    
  10.        
  11.        $escape = mysql_escape_string((int)$_GET['limit_news'] * NEWS_NA_STRONIE);
  12.        
  13.    
  14.    if($news=="") {
  15.        switch ($go ) {
  16.            case $nazwa:
  17.                
  18.                $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM ".NAZWA_TABELI." LIMIT ".$escape.",".NEWS_NA_STRONIE;
  19.            
  20.                $result = mysql_query($sql);
  21.                while($row = mysql_fetch_array($result)){
  22.            
  23.                $news[]=$row;
  24.                }
  25.                
  26.                $smarty->assign("news",$news);
  27.        $smarty->display("news.tpl");
  28.                
  29.    break;
  30.    }
  31.    }
  32. ?>


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\kks\news.php on line 34



I teraz tak wrzucilem na nazwa.pl serwer sql i dziwne bo dziala ! , a u mnie na local nie hmm questionmark.gif OCB ? (wyswietla wyniki ok)
erix
A którą wersję MySQL posiadasz u siebie? W którejś był bug związany ze zliczaniem rekordów w ten sposób.
noc_nik
Witamy w phpMyAdmin 2.6.0-pl2

MySQL 3.23.58-max-debug uruchomiony na localhost jako root@localhost
erix
Był w 4.0.x, używasz baaardzo starego. Update powinien pomóc.
noc_nik
Erix ! Dziękuje Ci najmocniej smile.gif , dziala Serdecznie pozdrawiam .
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.