Mehrere Seiten aus einer Anfrage generieren

hugo1981

Erfahrenes Mitglied
Hallo @ll,

ich habe eine Frage, leider habe ich nichts passendes gefunden, oder bin sogar zu blöd für die Suche :)) Ich hoffe, dass ich im Richtigen Forum poste.. Falls nicht, bitte verschieben :)

Folgendes:

Ich will aus einer SQL Abfrage, die zuviele Ergebnisse liefert, am besten mehrere Seiten generieren. Pro Seite sollen maximal 7 Tupel angezeigt werden.

Und mit zwei Links will ich auf die nächste Seite bzw. auf die 7 Einträge zuvor springen können.

Ich Arbeite mit JSP. Die Abfrage wird in einer Java-Bean ausgeführt. Ich kann das natürlich auch direkt ins JSP einbauen, wenn es so besser geht.

Hat jemand bitte Vorschläge, bzw. Anregungen für mich?
(Da war schon mal was in die Richtung, ich konnte es aber nicht mehr finden, ein Neubeginn ist aber bestimmt nicht verkehrt :) )

Vielen lieben Dank für Eure Hilfe im Voraus..

LG,
hugo
 
Naja...die Frage die sich da erstmal stellt, ist: Warum willst du dies tun?

Wenn es dir darum geht, den Nutzer zu entlasten weil du ihm nicht MB-grosse Dateien zumuten willst, ist JS nicht grad das geeignete Mittel.

Willst du nur, dass die Sache übersichtlich ist, ginge da schon was... du könntest bspw. alle Ergebnis schonmal in das Dokument packen, allerdings nur einen Teil anzeigen lassen, und dann per JS quasi durchblättern...ohne jedoch etwas neu Laden zu müssen.

Obendrein stellt sich dann noch die Frage, ob das Ganze auch ohne JS zugänglich sein muss.
 
Hi,

das ist nur für die Übersicht gedacht. weil ich die Ergebnisse nicht unter- sondern nebeneinander präsentieren will. Wäre eine super sache, wenn ich das irgendwie hinkriegen würde.

Wegen der Perfonmance und mögliche Einschränkungen wegen JS oder Barrierefreiheit muss ich mir keine Gedanken machen.

Für Hilfe bedanke ich mich im Voraus :)

lg,
hugo
 
Wenn man auf niemanden Rücksicht nehmen muss, ist es recht einfach :)
Hier mal ein Beispiel mieiner Tabelle:
Code:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
var i=-1;
function funktion(d,o)
{
  r=document.getElementById(o).getElementsByTagName('TBODY')[0].getElementsByTagName('TR');
  if(i>-1)r[i].style.display='none';
  i+=d;i=(i<0)?r.length-1:(i==r.length)?0:i;
  r[i].style.display=(document.all)?'block':'table-row';
}
window.onload=function(){funktion(1,'tbl');}
//-->
</script>
<style type="text/css">
<!--
#tbl thead th b{cursor:pointer;font:bold 26px Arial;}
#tbl tbody tr{display:none;}
#tbl tbody td{border:1px dotted #717171}
-->
</style>
</head>
<body>dddddd
<table border="0" id="tbl">
  <thead>
    <tr><th colspan="7"><b onclick="funktion(-1,'tbl')">?</b>&nbsp;&nbsp;&nbsp;<b onclick="funktion(1,'tbl')">?</b></th></tr>
  </thead>
  <tbody>
    <tr><td>1-1</td><td>1-2</td><td>1-3</td><td>1-4</td><td>1-5</td><td>1-6</td><td>1-7</td></tr>
    <tr><td>2-1</td><td>2-2</td><td>2-3</td><td>2-4</td><td>2-5</td><td>2-6</td><td>2-7</td></tr>
    <tr><td>3-1</td><td>3-2</td><td>3-3</td><td>3-4</td><td>3-5</td><td>3-6</td><td>3-7</td></tr>
    <tr><td>4-1</td><td>4-2</td><td>4-3</td><td>4-4</td><td>4-5</td><td>4-6</td><td>4-7</td></tr>
    <tr><td>5-1</td><td>5-2</td><td>5-3</td><td>5-4</td><td>5-5</td><td>5-6</td><td>5-7</td></tr>
  </tbody>
</table>
</body>
</html>

Die "Daten" werden alle in 7er-Paketen jewels in ine Reihe im <tbody> ausgegeben, eingangs werden per CSS alle TR ausgeblendet. Per JS braucht man jetzt nur noch jeweils eine TR ausblenden und die Nächste(bzw. Vorige) anzeigen...das wars schon.

Das ganze ginge genauso problemlos ohne Tabellen...mit DIVs oder sonstwas :)
 

Neue Beiträge

Zurück