bituniverse.com Foren-Übersicht bituniverse.com
Entwickler Forum
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Tabellen-Felder auslesen, blättern und filtern

 
Neues Thema eröffnen   Neue Antwort erstellen    bituniverse.com Foren-Übersicht -> PHP allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
specialj



Anmeldedatum: 04.12.2008
Beiträge: 15

BeitragVerfasst am: Mi 13 Mai, 2009 14:22    Titel: Tabellen-Felder auslesen, blättern und filtern Antworten mit Zitat

Hallo Leute,

hier mein Problem:
Habe eine DB-Tabelle mit mehreren Einträgen, die einzeln bearbeitet und eingefügt werden können. Die eingebaute Filterfunktion filtert bestimmte Daten aus der Tabelle und zeigt diese an.
In der Bearbeitungsansicht (eines einzigen Feldes) hat man die Möglichkeit weiter und zurück zu blättern.
Das Problem bei dieser Blätterfunktion (die mit den IDs arbeitet) ist, dass es alle Felder durchblättert und nicht die Gefilterten.

Habt ihr eine Idee wie man nur bestimmte Datensätze mit PHP und MySql durchblättert?

PS: Es gibt 4 verschiedene Kriterien, nach denen gefiltert wird.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Simon W.
Anti-verdenglischungs-Abgeordneter


Anmeldedatum: 05.11.2007
Beiträge: 283
Wohnort: Aachen

BeitragVerfasst am: Mi 13 Mai, 2009 22:10    Titel: Antworten mit Zitat

Dazu müsstest du entweder die komplette Filterung in SQL machen und dann SQL-mäßig blättern, oder aber ausschließlich per PHP blättern.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
specialj



Anmeldedatum: 04.12.2008
Beiträge: 15

BeitragVerfasst am: Do 14 Mai, 2009 11:23    Titel: Antworten mit Zitat

Man müsste doch PHP und sql miteinander kombinieren.
In meinem Fall möchte ich einen Link erzeugen, der die ID des vorherigen Datensatzes in der gefilterten Liste beinhaltet.
Hier ein Beispiel:

Zitat:

mysql_query("SELECT id FROM $tabelle WHERE id=$id AND kategorie=$cat LIMIT $begin, 1");

echo '<a href=update.php?tabelle=$tabelle&id=$id_before&begin=$begin'>vor blättern</a>;
...

So oder so ähnlich sollte es aussehen.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
M



Anmeldedatum: 05.11.2007
Beiträge: 107
Wohnort: Aachen

BeitragVerfasst am: Do 14 Mai, 2009 18:39    Titel: Antworten mit Zitat

Na ja, Simon hat da schon Recht.
Das Probelm, wenn du einen Teil der Filterung von MySQL und den anderen Teil von PHP erledigen lässt, ist ja, dass du unter Umständen ein zu kleines Subset lädst.

IMHO ist es das beste du filterst mit MySQL und benutzt dann zum blättern LIMIT. So, wie du es ja in deinem Beispiel ja schon machst.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
specialj



Anmeldedatum: 04.12.2008
Beiträge: 15

BeitragVerfasst am: Fr 15 Mai, 2009 15:06    Titel: Antworten mit Zitat

Ich hatte jetzt gehofft, dass ihr mir helfen würdet, wie ich das Problem lösen könnte.
Wenn ich jetzt mit LIMIT arbeite, müsste ich den Startwert immer aktuell halten, d.h. das dieser für den "Zurück"-Link und für den "Vorwärts"-Link dementsprechend angepasst werden muss.

Habt ihr vl eine Lösung für mich? Als Beispiel-Code oder so?

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Simon W.
Anti-verdenglischungs-Abgeordneter


Anmeldedatum: 05.11.2007
Beiträge: 283
Wohnort: Aachen

BeitragVerfasst am: Fr 15 Mai, 2009 23:22    Titel: Antworten mit Zitat

Natürlich musst du beim Vor- und Zurück- Blättern irgendwie abspeichern, wo du gerade bist, oder wohin du möchtest. Das geht aber theoretisch auch per Session, wenn dir die Übergabe per Link zu blöd ist.
Wie M aber bereits sagte: Wenn du per PHP nachfilterst, kannst du in der SQL-Abfrage ja noch gar nicht wissen, wieviele zeilen du benötigen wirst.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    bituniverse.com Foren-Übersicht -> PHP allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB2.de
Powered by WebRing.