Avatar billede frasa Juniormester
22. august 2009 - 22:40 Der er 5 kommentarer og
1 løsning

Simpel paginering

Har kigget google igennem for diverse simple pagination's scripts, men har ikke haft held til at få noget til at virke med mit script!

Er der nogen som kan hjælpe mig her?


Her er mit script:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
mysql_connect("localhost", "xxxxxxxxxx", "xxxxxxxxxx") or die(mysql_error());
mysql_select_db("service") or die(mysql_error());

$resultat = mysql_query('select servicenummer, regaf, knavn, afslut from arbejdsseddel');

?>
<table width="800 px" class="td">
<tr><td>Servicenummer:</td><td>Registreret af:</td><td>Kundenavn:</td><td>Arbejdsseddel:</td><td>Brev nr.1</td><td>Brev nr. 2</td><td>Afsluttet Service</td><td>Færdiggøre servicesag:</td><td>Servicesag til Faktura</td></tr>
<tr>
<?php
while ($raekke = mysql_fetch_array($resultat)) {
  extract($raekke);
?>
<td><?php echo $servicenummer; ?></td>
<td><?php echo utf8_decode($regaf); ?></td>
<td><?php echo utf8_decode($knavn); ?></td>
<td><a href="downarbpdf.php?id=<?php echo $raekke['servicenummer'];?>" ><div class="pdf"><img src="pdficon.jpg" border="0"/></div></a></td>
<td><a href="downbrev1pdf.php?id=<?php echo $raekke['servicenummer'];?>" ><div class="pdf"><img src="pdficon.jpg" border="0" /></div></a></td>
<td><a href="downbrev2pdf.php?id=<?php echo $raekke['servicenummer'];?>" ><div class="pdf"><img src="pdficon.jpg" border="0" /></div></a></td>
<td><?php echo utf8_decode($afslut);?></td>
<td><a href="afslut.php?id=<?php echo $raekke['servicenummer'];?>" >Afslut service</a><br /></td>
<td><a href="downfaktpdf.php?id=<?php echo $raekke['servicenummer'];?>" ><img src="pdficon.jpg" border="0" /></a></td>
</tr>
<?php };?>
</table>
</body>
</html>
Avatar billede webweaver Praktikant
23. august 2009 - 14:53 #1
Du må gerne give lidt mere information.
Hvilken fejl får du? Det er ret væsentligt.

$resultat = mysql_query('select servicenummer, regaf, knavn, afslut from arbejdsseddel') or die(mysql_error());
Avatar billede webweaver Praktikant
23. august 2009 - 14:56 #2
<?php };?>

Hvis jeg lige hurtigt kigger igennem, behøves der vidst ikke være semikolon der?

<?php } ?>
Avatar billede frasa Juniormester
23. august 2009 - 20:21 #3
Dette script fungerer helt uden problemer, jeg har brug for lidt hjælp til at lave "sideinddeling" på det her script.
Lige nu kommer indholdet fra min database bare ud i en lang smøre.... og jeg får ondt i fingeren af at scrolle...
Avatar billede frasa Juniormester
23. august 2009 - 20:57 #4
Jeg fik et tidligere forsøgt paginations-script til at virke!
Lukker tråden.... tak for interessen lasse!
Avatar billede webweaver Praktikant
23. august 2009 - 21:02 #5
Ahh så er jeg med. Så skal du bare se her, har lavet et lille script der gør tricket :)

$pr_pages = 4; // Antal poster pr. side...
                   
$e = isset($_GET['e'])?$_GET['e']:"";
$a = $pr_pages * $e;
$b = $a + $pr_pages - $e * $pr_pages;
$c = $e - 1;
$d = $e + 1;
                           
include ("include/mysql_connect.php");

$foresp = mysql_query("SELECT * FROM MinTabel") or die(mysql_error());
$total = mysql_num_rows($foresp);
                           
$pages = $total / $pr_pages;
                           
if ($e + 1 < $pages) {
                           
$next = " - <a href=\"http://www.hjemmeside.dk/portfolio.php?e=$d\">Next</a>";
                           
}
                           
if ($e - 1 < $pages AND $e) {
                           
$prev = "<a href=\"http://www.hjemmeside.dk/portfolio.php?e=$c\">Previous</a> - ";
                           
} else {
                           
$prev = "Previous - ";
                           
}
                           
if ($d > $pages OR $d=="$pages") {
                           
$next = " - Next";

Og den som viser det fysisk,

<div style="margin: 0px; width: 340px; text-align: center">

<?                               
                           
echo "<p>\n$prev";
                               
$pages1 = ceil($pages);
$tal = 0;
$tal1 = 1;
                               
while ($pages1 >= $tal1) {
                               
if($tal == $e) {
                           
echo "<b>$tal1</b>";
                               
} else {
                               
echo " <a href=\"http://www.hjemmeside.dk/portfolio.php?e=$tal \">$tal1</a> ";
                               
}
                               
$tal++;
$tal1++;

}
                               
echo "$next\n</p>";
                           
?>
           
</div>

Query som trækker data ud fra DB skal se således ud,

$query = mysql_query("SELECT * FROM MinTabel LIMIT $a,$b") or die(mysql_error());

Det virker. Er afprøvet og testet.
Avatar billede webweaver Praktikant
23. august 2009 - 21:03 #6
Nå okay, det var godt at du fik det til at virke :)
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

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