Darstellung von Suchergebnissen

Und alles was mit phpMyAdmin seine Verwandtschaft findet hat hier seinen Platz.

Darstellung von Suchergebnissen

Postby Gukie » 05. March 2007 10:13

Hallo, ich habe folgendes Problem:
Ich habe eine Suchabfrage erstellt, mit Datenbank usw.
Dies funktioniert eigentlich super, das Problem ist jetzt bei der Darstellung meiner Ergebnisse.
Und zwar habe ich manchmal 100 oder 200 Suchergebnisse, und wenn ich alles in eine Seite aufliste, ist es sehr unübersichtlich. Deshalb wollte ich es so machen, dass pro Seite nur 10 oder 15 Ergbnisse angezeigt werden, und dass unten so ein "nächste Seite" oder sowas in der Art ist. Muss mann dafür ein PHP code erstellen, oder gibt es ne Einstellung bei PHPMyAdmin?

Wäre für Lösungsvorschläge sehr Dankbar

mfg
Gukie
Gukie
 
Posts: 22
Joined: 05. January 2007 15:33

Postby Mätes » 06. March 2007 09:35

In MySQL gibt es die Anweisung LIMIT, die du in Select-Queries einbauen kannst.

//ersten 100 einträge
select * from bingo limit 100

//zweiten hundert einträge
select * from bingo limit 100, 100

LIMIT [offset,] row_count

Die Vorwärts- Rückwärtslinks musst du natürlich in PHP selber schreiben, und dort die Anfangsparameter mitgeben.

Oder zielte deine Frage auf etwas anderes ab?

gruß,
ma
User avatar
Mätes
 
Posts: 142
Joined: 13. April 2006 09:34
Location: kölle

Postby Gukie » 09. March 2007 09:51

Hallo, danke für die ANtwort, aber ich glaube du hast mich falsch verstanden.
Ich versuche es mit einem Beispiel zu erklären.
Bei Google, suchst du nach irgendwas, und dann hat er mehrere Egebnisse. Diese werden aber nicht alle in eine Seite aufgelistet, sonders nur 10 Stück oder so pro Seite. Und unten steht dann, nächste, usw. Und sowas möchts ich machen.

mfg
Gukie
Gukie
 
Posts: 22
Joined: 05. January 2007 15:33

Postby sari42 » 11. March 2007 00:41

Suche mit phpmyadmin ergibt z.B.:
Showing rows 0 - 29 (159 total, Query took 0.0038 sec)
SQL query: SELECT *
FROM ...where...
.....LIMIT 0 , 30
limit läßt sich mit "$cfg['MaxRows']" in config.inc.php festlegen (default=30, siehe docs)
Man kann dann "blättern" bzw. die Seiten direkt anspringen.
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby Gukie » 12. March 2007 12:02

Ich versteh das nicht
Sorry :oops:

Also, mein Limit habe ich jetzt reingeschrieben
Habe das so gemacht, wie du es vorgeschlagen hast


Code: Select all
SELECT *
FROM ...where...
.....LIMIT 0 , 30


Es klappt auch, ich hab nur 30 Ergebnisse. (Danke dir an dieser Stelle)

Aber wie ich jetzt weitermachen soll, weiss ich net, sodass es automatisch passiert
Natürlich hätte ich jetzt dahin gehen können und sagen

Code: Select all
LIMIT 30 , 60

usw, bis ich bei zum Beispiel 150, 167 bin

Aber so solls ja nicht sein

Er soll es schon automatisch machen, dass wenn er mehrere Ergebnisse hat, da unten ein weiter Einfügt, und bei der nächsten Seite, der Limit auch Automatisch 30, 60 ist usw
Und da komm ich nicht weiter
Keine Ahnung wie ich das machen soll

Danke
Gukie[/code]
Gukie
 
Posts: 22
Joined: 05. January 2007 15:33

Postby Mätes » 13. March 2007 12:07

du wirst um ein wenig programmieraufwand nicht herum kommen.
auch in phpmyadmin gibt es dafür ein paar dutzend bis hundert zeilen,
damit das hinhaut.

du brauchst zwei links, einen zum vorblättern, einen zum zurückblättern.
und denen musst du parameter mitgeben, die den limit-befehl füttern.

ma
User avatar
Mätes
 
Posts: 142
Joined: 13. April 2006 09:34
Location: kölle

Postby sari42 » 24. March 2007 17:38

>Er soll es schon automatisch machen,
wer ist er?

phpMyAdmin machts genau so, wie du's wünscht!
(mit links für's Blättern)

Demo: http://pma.cihar.com/trunk-config/index.php
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby Busy » 26. March 2007 21:44

Nein, dass mit dem Blättern geht leider nicht, wie Du Dir das vorstellst.
Das mit dem Limit, was ein paar Postings weiter oben steht, bedeutet, dass die Datensätze von bis ausgegeben werden. Das heißt, Du müsstest für jede Seite diese von bis Werte ändern und die Suche erneut ausführen.

Eine Blätterfunktion kannst Du nur realisieren, wenn Du Dir eine kleine Datenbankabfrage selbst schreibst. Man würde in diesem Fall stets die selbe Suche ausführen, nur eben die Werte von bis (Limit) ändern. Man würde hierfür eine Funktion schreiben und die von bis Werte als Parameter übergeben.

Ich hoffe, ich konnte Dir helfen.
Busy
 
Posts: 5
Joined: 08. December 2005 21:21
Location: 44534 Lünen

Postby Wiedmann » 26. March 2007 23:22

Nein, dass mit dem Blättern geht leider nicht, wie Du Dir das vorstellst.

Natürlich...
phpMyAdmin aktiviert automatisch eine Blätterfunktion, sofern man kein eigens LIMIT vorgibt, und ist ansonsten auf 30 Reihen begrenzt. Konfiguriert wird dieses über "$cfg['ShowAll']" und "$cfg['MaxRows']".

Bleibt also noch die Frage: Welche Version von phpMyAdmin benutz ihr?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby sari42 » 27. March 2007 21:27

> Konfiguriert wird dieses über "$cfg['ShowAll']" und "$cfg['MaxRows']".
"$cfg['ShowAll']" entscheidet nur , ob ein entsprechender link angezeigt wird.
"$cfg['MaxRows']" und "blättern" hatte ich bereit am 11.3. erwähnt.
>Welche Version von phpMyAdmin benutz ihr?
das funktionierte schon im letztem Jahrtausend ;)
Ich glaube Gukie meint was ganz anderes als wir!?
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby Gukie » 14. June 2007 09:27

Hi,
sorry, habe mich lange nicht mehr mit dem thema beschäftigt, deswegen habe ich auch hier nichts mehr gepostet.

Ich glaube ihr meint doch das selbe wie ich, kommt mindestens so rüber, das problem ist aber grad
Egal was ich als wert für "$cfg['MaxRows']" angebe, es wird immer alle ergebnisse angezeigt.
ich weiss garnicht mehr was ich machen soll.

Er ist übrigens der PC, oder MySQL, oder PHPMYAdmin, was auch immer :o

Zur zeit siehr meine config.inc.php datei so aus

$cfg['ShowAll'] = false; // allows to display all the rows
$cfg['MaxRows'] = 30; // maximum number of rows to display

was mach ich denn falsch?

ich will ledeglich das pro seite 30 ergebnisse angezeigt werden, und automatisch ein link "weiter" erzeugt wird, wo weitere 30 ergebnisse anzeigt

danke schön, und entschuldigung für die verspätung
Gukie
 
Posts: 22
Joined: 05. January 2007 15:33

Postby sari42 » 14. June 2007 17:59

http://rabus.phpmyadmin.net/demos/trunk/index.php?db=test&table=blaettern
(login: user= demo , kein pw)
unter "Anzeigen/Browse" findest Du [>] (eineSeite weiter)
[>>] (ans Ende) und ein "dropdown" zum direkten Anspringen einer Seite (jeweils 30 Datensätze pro Seite)
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby Gukie » 15. June 2007 07:51

Moment mal...

bei phoMyAdmin funktionierts ja bei mir
Da hab ich dieses "wieter" oder sowas in der art.
Was bei mir nicht geht, ist auf eine webseite die ich Programiert hat.
Ich glaube ich meine jetzt wirklich was anderes.

Nochmal die erklärung:

Ich hab miene webseite. von mir aus www.gukie.de
in diese webseite hab ich eine suchabfrage, wo man nach handys suchen kann. mann kann nur die marke angeben, oder das model
das problem ist, wenn man nokia eingibt, kommen 132 ergebnisse...
und das sieht ja nicht ordentlich aus auf der wegseite, so kann ich diese nicht online stellen
dh, ich brauch so eine funktion.
die soll genau so funktionieren wie bei phpMyAdmin, mit [>] [>>] und so, aber auf der webseite.

ich hoffe jetzt wist ihr was ich meine

und wenn wir doch das selbe meinen, hab ich dein beitrag nicht verstanden
Gukie
 
Posts: 22
Joined: 05. January 2007 15:33

Postby kschroeder » 15. June 2007 08:17

Da hast Du Dich wirklich unverständlich ausgedrückt gehabt, Gukie.

Um auf Deiner Webseite die gleiche Funktionalität für das Anzeigen von Datensätzen wie beim phpmyadmin zu erhalten, kommst Du um ein wenig Programmieren nicht herum.
Wie die Vorredner schon gesagt haben, Du musst eine variable Abfrage bauen, die z.B. so aussehen könnte:

Code: Select all
$von = 0;
$bis = 30;
$abfrage = "select * from tabelle limit $von,$bis";


Nach der Anzeige der Sätze, baust Du links ein, die das Blättern ermöglichen. Beim "weiter-Link" werden bei $von und $bis jeweils 30 hinzuaddiert und Dein Script erneut aufgerufen. Beim "Zurück" entsprechend 30 abgezogen, etc..

Im Endeffekt genau dasselbe, was schon Mätes geschrieben hat.
kschroeder
 
Posts: 254
Joined: 11. May 2007 13:33

Postby Gukie » 15. June 2007 13:05

Ja, ich habs gemerkt
Aber jetzt haben wir uns ja verstanden

8)

ich hab mir gedacht das es irgendwie so sein sollte, auch nachdem ich hier ein paar antworten gelesen hab ^^

aber wie mach ich dieses addieren?
einfach ein "+30"??
so einfach wirds ja nicht sein, oder?

Code: Select all
$von = 0;
$bis = 30;
$abfrage = "select * from tabelle limit $von,$bis";

*nächste seite*
$von = $von+30;
$bis = $bis+30;
$abfrage = "select * from tabelle limit $von,$bis";



so ungefähr?
ich mach delphi in der schule, und da funktionierts auch so in der art.
Gukie
 
Posts: 22
Joined: 05. January 2007 15:33

Next

Return to phpMyAdmin

Who is online

Users browsing this forum: No registered users and 28 guests