ich habe mir ein paging gebastelt, welches moeglichst variable
sein soll. so hat der user die moeglichkeit die angezeigten datensaetze UND den einstiegspunkt zu waehlen. letzteres macht mir gerade kopfzerbrechen.
bei 9000 datensaetzen moechte ich dem nutzer die moeglichkeit geben
zum beispiel eine zahl wie 5342 einzugeben um dann den entsprechenden datensatz zu sehen.
allerdings moechte ich dass der angezeigte datensatz immer in der MITTE des angezeigten fensters steht.
Beispiele:
es werden 10 Datensaetze angezeigt->nach DS 35 wurde gesucht.
angezeigt wird:
30
31
32
33
34
->35
36
37
38
39
es werden 5 DS angezeigt. User sucht nach 22
20
21
->22
23
24
wie ermittel ich praktisch die mitte …
die daten werden aus einer mySQL datenbank via PHP4
gelesen. ich machs mir glaub ich zu kompliziert.
sind die Datensätze von 1 - 9000 durchgehend numeriert ?
Wenn ja ist es kein Problem
SELECT `bla` FROM `bla` WHERE `numerierung` \> $\_POST['suche']-5 LIMIT 0,10
Wenn die Datensätze nicht durchnumeriert sind
SELECT `bla` FROM `bla` LIMIT ((SELECT count(id) FROM `bla` WHERE `numerierung`
ist jetzt allerdings ungetestet sollte aber irgendwie so klappen musst du vielleicht noch nen bißchen rumpfeilen :smile:
schönen feierabend :smile:
Gruß
Phillip
> <small>[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]</small>
sind die Datensätze von 1 - 9000 durchgehend numeriert ?
Wenn ja ist es kein Problem
SELECT bla FROM bla WHERE numerierung >
$_POST[‚suche‘]-5 LIMIT 0,10
Wenn die Datensätze nicht durchnumeriert sind
SELECT bla FROM bla LIMIT ((SELECT count(id) FROM bla
WHERE numerierung
ist jetzt allerdings ungetestet sollte aber irgendwie so
klappen musst du vielleicht noch nen bißchen rumpfeilen
Das solltest Du ihm aber wohl erläutern.
Hier _SELECT bla FROM bla WHERE numerierung > $_POST[‚suche‘]-5 LIMIT 0,10
Beispiel Eingabe 8500
Ausgabe Datensätze
8495 - 8505
Ich würde aber eher LIMIT 11 nehmen um dann auch eine Mitte zu haben.
oder gar 3 Selects
Beispiel 11 Einträgen (6 Mittig)
// Oben
SELECT bla FROM bla WHERE numerierung > $_POST[‚suche‘]-5 LIMIT 0,5
// Mitte
SELECT bla FROM bla WHERE numerierung = $_POST[‚suche‘] LIMIT 0,1
// Unten
SELECT bla FROM bla WHERE numerierung > $_POST[‚suche‘]+1 LIMIT 0,5_
Hier SELECT bla FROM bla WHERE numerierung >
$_POST[‚suche‘]-5 LIMIT 0,10
vielleicht sollte ich erwaehnen , dass die anzahl der
angezeigten datensaetze variable und mir unbekannt ist…
weil das kann der user steuern. es muessen also nicht
immer elf oder zehn sein…
// Wegen übergabe an SQL , nur nummern zulassen.
$suche = preg_replace("\D","",$_POST[‚suche‘]);
$oben = $suche - ($anzahl-$haelfte);
$mitte = $suche;
$unten = $suche+1;
$oende = ($anzahl-$haelfte);
$uende = $haelfte;
// Oben
SELECT bla FROM bla WHERE numerierung > $oben LIMIT 0,$oende
// Mitte
SELECT bla FROM bla WHERE numerierung = $mitte LIMIT 0,1
// Unten
SELECT bla FROM bla WHERE numerierung > $unten LIMIT 0,$uende
3 Abfragen halte ich für unsinig dann muss man ja alles 3 mal
machen
Stimmt, hab ich was anderes behauptet
ob nun Limit bla,10 oder bla,20 das ist für das funktionieren
des scripts erst mal uninteressant
Du bist echt wie so ein zikkiges kleines Mädchen oder Bub.
Habe ich irgentwo behauptet das dein Script nicht funktioniert ,
aber es wird nur ein Profi wirklich schlau daraus, bzw einer der es schon weiss wie es geht.
Also du kleine Zikke , lesen , antworten, und bitte nicht irgentwelche Behauptungen mir unterstellen.
Danke das du dich so angegriffen fühlst.
Aber ich bin nicht dein Therapeut.
Psycho probleme und Halluzinationen bitte woanders.
Hallo Rakon,
3 Abfragen halte ich für unsinig dann muss man ja alles 3 mal
machen
Stimmt, hab ich was anderes behauptet
ob nun Limit bla,10 oder bla,20 das ist für das funktionieren
des scripts erst mal uninteressant
Du bist echt wie so ein zikkiges kleines Mädchen oder Bub.
gleichfalls
Habe ich irgentwo behauptet das dein Script nicht funktioniert
aber es wird nur ein Profi wirklich schlau daraus, bzw einer
der es schon weiss wie es geht.
Sry das ich jemanden der Schon mehrmals hier gepostet hat und Fragen zur OOP und anderen Sachen gestellt hat die zumindestens ein größeres Grundwissen vorraussetzen als echo (‚blabla‘); für schlau genug gehalten habe das er wenn er mit einer antwort nicht klar kommt dazu noch fragen stellen kann bzw die antwort so ummodeln kann das sie auf sein Problem hin funktioniert
Also du kleine Zikke , lesen , antworten, und bitte nicht
bist du sicher das das alter in deiner vika stimmt?
von deiner antwort her hätte ich dich eher auf 14 - 15 schätzen
irgentwelche Behauptungen mir unterstellen.
Danke das du dich so angegriffen fühlst.
Ich denke mal angegriffen gefühlt hast maximal du dich ich habe nur zu fragen von dir auf meine antwort geantwortet.
Aber ich bin nicht dein Therapeut.
Psycho probleme und Halluzinationen bitte woanders.
Wer hier psychologische probleme hat bleibt mal dahin gestellt.
ich habe mir ein paging gebastelt, welches moeglichst variable
sein soll. so hat der user die moeglichkeit die angezeigten
datensaetze UND den einstiegspunkt zu waehlen. letzteres macht
mir gerade kopfzerbrechen.
bei 9000 datensaetzen moechte ich dem nutzer die moeglichkeit
geben
zum beispiel eine zahl wie 5342 einzugeben um dann den
entsprechenden datensatz zu sehen.
allerdings moechte ich dass der angezeigte datensatz immer in
der MITTE des angezeigten fensters steht.
Wenn du mit LIMIT start, anzahl arbeitest, musst du doch nur
LIMIT „.$start-floor($anzahl/2).“,".$anzahl verwenden und eben $start hervorheben, um die DS von start-anzahl/2 bis start+anzahl/2 anzuzeigen. Oder habe ich das falsch verstanden ?