Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Antwort
 
Themen-Optionen
Alt 20.10.2006, 11:58   Nach oben    #1
BIN EIN KRASSA HELD!!!111
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.184
Standard Seitennummer eines Eintrags herausfinden

Folgende datenbankstruktur:

tabelle1:
ID | Name | Kommentar


Ich lasse diese Daten immer 5 stück pro seite ausgeben.

jetzt habe ich die ID von einem eintrag und will wissen auf welcher Seite er steht. mein ansatz

-> alle IDs abholen und dann schauen ob die ID in den ersten 5 einträgen ist ... in den nächsten 5 ... etc.

umständlich und ich hab, auch wenn ich nur jeweils ne ID abhole trotzdem alle datensätze erstmal abgeholt. Irgendwie würde ich das gerne "schneller" und einfacher Lösen, gibts da nen Trick oder sowas ? da die IDs nicht durchgängig sind, weil Einträge gelöscht werden, ist es halt auch nicht einfach über die ID machbar.

mfg
robo47
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.10.2006, 12:16   Nach oben    #2
Mensch
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
Standard

welche Datenbank benutzt du? Oracle kann Zeilennummer eines eintrags in einer Tabelle ermitteln, bei MySQL müsste ich erst schauen, sollte aber auch gehen.
Die Zeilennummer durch 5 und gut ist.
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.10.2006, 12:58   Nach oben    #3
BIN EIN KRASSA HELD!!!111
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.184
Standard

ich nutze mysql, genaugenommen 4.1.

naja, ich hab jetzt von jemand noch nen typ bekommen der nicht direkt das ganze in einem query liefert sondern das suchen danach vereinfacht und zwar anstatt die kompletten daten durchzugehen, mir eine binär-Suche zu basteln:

http://de.wikipedia.org/wiki/Bin%C3%A4re_Suche

klingt schonmal effektiver.
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.10.2006, 13:04   Nach oben    #4
Erfahrener Benutzer
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 662
Standard

Es könnte ja sein, dass zwischendrin auch mal Datensätze gelöscht werden und schon passt das mit der Seitenzahl dann nicht mehr. Ob es eine interne Lösung gibt kann ich so direkt nicht sagen, mir ist jedenfalls noch keine bekannt, was die Möglichkeit aber nicht ausschließt.
Ich würde es sonst so machen:

Code:
SELECT COUNT(`ID`) AS `count` FROM `table` WHERE `ID`<='27' ORDER BY `ID` ASC
Damit hast du dann die Anzahl aller Beiträge vom Anfang bis zum gewünschten Datensatz. Jetzt noch eine kleine Berechnung und du bist fertig:

PHP-Code:
if ($myrow['count'] % == 0)
{
  
$page $myrow['count'] / 5;
}
else
{
  
$page ceil ($myrow['count'] / 5);

Ist der COUNT z.B. 3, springt er in die ELSE-Schleife und sagt korrekter Weise, dass der Datensatz sich auf der Seite 1 befindet. Im Beispiel mit der ID 27 nehme ich jetzt einfach mal an, dass vorher 4 Datensätze gelöscht wurden, dann beträgt der COUNT 23 und somit befindet sich der Datensatz auf Seite 5.

Ich hoffe ich habe jetzt nichts falsches erzählt
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.10.2006, 13:07   Nach oben    #5
BIN EIN KRASSA HELD!!!111
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.184
Standard

das muss ich mir dann mal anschauen, das klingt gut
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[SQL] Aktuelles Jahr, aktuellen Monat herausfinden Ben Datenbanken 7 12.03.2007 17:10
JEditorPane aktuelle Cursor stellung herausfinden mr.no Desktop-Applikationen und Grafik 5 17.12.2006 21:12
PHPeclipse - herausfinden, wo eine Methode aufgerufen wird Ben Eclipse 3 12.03.2006 22:46
per Telefonnummer Adresse herausfinden Ben Plauderecke 5 12.01.2006 08:57
Zuverlässig Herkunftsland herausfinden Buhmann PHP-Programmierung 6 15.10.2005 14:20


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:24 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44