Avatar billede mrdanielson Nybegynder
19. april 2009 - 02:01 Der er 5 kommentarer

Sideskift system?

Hej folkens.

Er der nogle som har en kode til sideskift, så hvis man har for eksempel 100 jokes i ens database tabel så er der 10 sider med 10 jokes på hver side :)? Det skal helst være i PHP og nemt at rette i :P.

Mvh. Daniel.
Avatar billede arne_v Ekspert
19. april 2009 - 02:14 #1
De magiske ord at søge på i Google er:

paging php mysql

Der er 145000 hits - og jeg kan ikke lave et bedre eksempel end dem.
Avatar billede RexReptiles Nybegynder
19. april 2009 - 04:27 #2
Idiot sikker guide at finde her :
http://www.php-mysql-tutorial.com/wikis/php-tutorial/paging-using-php.aspx

:-)

slet ikke så svært som man umiddelbart skulle tro :-P
Avatar billede mrdanielson Nybegynder
19. april 2009 - 23:03 #3
Tak for det RexReptiles, men jeg kan desværre ikke få det til at virke :\

Min kode:

<?php
include 'config.php';

// how many rows to show per page
$rowsPerPage = 5;

// by default we show first page
$pageNum = 1;

// if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
    $pageNum = $_GET['page'];
}

// counting the offset
$offset = ($pageNum - 1) * $rowsPerPage;

$query = " SELECT joke FROM sb_billedesystem " .
        " LIMIT $offset, $rowsPerPage";
$result = mysql_query($query) or die('Error, query failed');

// print the random numbers
while($row = mysql_fetch_array($result))
{
  echo $row['val'] . '<br>';
}

// ... more code here
?>
asd
<?php
// ... the previous code

// how many rows we have in database
$query  = "SELECT COUNT(joke) AS numrows FROM sb_billedesystem";
$result  = mysql_query($query) or die('Error, query failed');
$row    = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];

// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);

// print the link to access each page
$self = $_SERVER['PHP_SELF'];
$nav  = '';

for($page = 1; $page <= $maxPage; $page++)
{
  if ($page == $pageNum)
  {
      $nav .= " $page "; // no need to create a link to current page
  }
  else
  {
      $nav .= " <a href=\"$self?page=$page\">$page</a> ";
  }
}

// ... still more code coming
?><br><br>
<?php
// ... the previous code

// creating previous and next link
// plus the link to go straight to
// the first and last page

if ($pageNum > 1)
{
  $page  = $pageNum - 1;
  $prev  = " <a href=\"$self?page=$page\">[Prev]</a> ";

  $first = " <a href=\"$self?page=1\">[First Page]</a> ";
}
else
{
  $prev  = '&nbsp;'; // we're on page one, don't print previous link
  $first = '&nbsp;'; // nor the first page link
}

if ($pageNum < $maxPage)
{
  $page = $pageNum + 1;
  $next = " <a href=\"$self?page=$page\">[Next]</a> ";

  $last = " <a href=\"$self?page=$maxPage\">[Last Page]</a> ";
}
else
{
  $next = '&nbsp;'; // we're on the last page, don't print next link
  $last = '&nbsp;'; // nor the last page link
}

// print the navigation link
echo $first . $prev . $nav . $next . $last;

// ... and we're done!
?>

Og min MYSQL tabel indeholder følgende:


--
-- Struktur-dump for tabellen `sb_billedesystem`
--

CREATE TABLE `sb_billedesystem` (
  `id` int(8) NOT NULL auto_increment,
  `writer` varchar(100) NOT NULL default '',
  `name` varchar(100) NOT NULL default '',
  `joke` longtext NOT NULL,
  `cat` varchar(100) NOT NULL default '',
  `date` varchar(100) NOT NULL default '',
  `time` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;

--
-- Data dump for tabellen `sb_billedesystem`
--


Håber du/eller andre kan hjælpe mig :-)


Mvh. Daniel.
Avatar billede RexReptiles Nybegynder
20. april 2009 - 12:45 #4
hvad får du af fejl på den der ?
Avatar billede mrdanielson Nybegynder
20. april 2009 - 14:12 #5
Får ingen fejl, men den udskriver bare følgende (ingen jokes) :S








asd

  1 2 3 [Next] [Last Page]
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester