php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.08.2010, 13:49  
Neuer Benutzer
 
Registriert seit: 01.08.2010
Beiträge: 25
PHP-Kenntnisse:
Anfänger
hamburger zeigte ein beschämendes Verhalten in der Vergangenheit
Standard vorheriger/nächster datensatz

Hallo ich habe ein Problem:
ich habe eine Select-Anweisung mit zwei where-Bedingungen

$abfrage = "SELECT * FROM whiskysorten where Kriterium = gut && ID=100

(PS: Die ID ist eindeutig, so dass in der Abfrage eigentlich redundant und nur zur Verdeutlichung angegeben.)

wie bekomme ich den vorherigen bzw. nächsten Datensatz zur ID 100 der das Kriterium=gut erfüllt?

D.h, ich möchte in der Auswahl (Kriterium) einer Tabelle blättern.

Muss ich hierfür eine Hilfstabelle erstellen oder geht das auch anders?
hamburger ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.08.2010, 13:51  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von hamburger Beitrag anzeigen
wie bekomme ich den vorherigen bzw. nächsten Datensatz zur ID 100 der das Kriterium=gut erfüllt?
In dem du zunächst eine Sortierreihenfolge definierst (derzeit enthält deine Query noch gar keine Sortierung, also gibt es auch noch keinen „vorherigen“ oder „nächsten“ Datensatz!), und dir dann unter zu Hilfe nahme von ORDER BY und LIMIT jeweils nur den einen Datensatz liefern lässt, der innerhalb dieser Sortierung vor/nach dem Vergleichsdatensatz kommt.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 01.08.2010, 14:08  
Neuer Benutzer
 
Registriert seit: 01.08.2010
Beiträge: 25
PHP-Kenntnisse:
Anfänger
hamburger zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hallo ChrisB,
danke für deine schnelle Antwort.
Bei meiner Abfrage:
$abfrage = "SELECT * FROM whiskysorten where Kriterium = gut && ID=100
bekomme ich nur einen Datensatz zurück, weil es ID=100 nur einmal gibt. Da ist nichts zu sortieren.

Habe inzwischen folgendes gefunden:
$x = 5;
mysql_query("SELECT * FROM `tabelle` WHERE `id`>".$x." ORDER BY `id` ASC LIMIT 1");
mysql_query("SELECT * FROM `tabelle` WHERE `id`<".$x." ORDER BY `id` DESC LIMIT 1");

heißt dass, ich kann somit den vorherigen/nächsten Satz selektieren obwohl nur ein Datensatz meinem Kritrium entspricht?
hamburger ist offline   Mit Zitat antworten
Alt 01.08.2010, 14:10  
Neuer Benutzer
 
Registriert seit: 01.08.2010
Beiträge: 25
PHP-Kenntnisse:
Anfänger
hamburger zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

PS: Habe < und >-Zeichen übersehen. Scheint also zu funktionieren.
Sind aber 3 Querys. Geht das auch mit nur einem?
hamburger ist offline   Mit Zitat antworten
Alt 01.08.2010, 14:13  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von hamburger Beitrag anzeigen
Bei meiner Abfrage:
$abfrage = "SELECT * FROM whiskysorten where Kriterium = gut && ID=100
bekomme ich nur einen Datensatz zurück, weil es ID=100 nur einmal gibt. Da ist nichts zu sortieren.
Bei nur einem Datensatz nicht, nein.

Du willst aber einen „vorherigen“ und einen „nächsten“ Datensatz ermitteln - und dazu brauchst du eine Sortierung.

Zitat:
Habe inzwischen folgendes gefunden:
Prinzipiell korrekt - bis auf die Tatsache, dass eine ID einzig und allein zur Identifizierung eines Datensatzes dienen sollte, nicht zur Herstellung einer Sortierung.

Zitat:
heißt dass, ich kann somit den vorherigen/nächsten Satz selektieren obwohl nur ein Datensatz meinem Kritrium entspricht?
Hast du meinen Hinweis verstanden, hast du den gefundenen Beispielcode verstanden? Klingt irgendwie nicht so.

Wenn du wissen willst, wer vor und wer hinter Person XY in der Schlange steht - natürlich musst du dann zunächst nur Person XY identifizieren können. Vor und Hinter ergeben sich, wie gesagt, aus der Sortierung.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Nur 1 Datensatz weibchen PHP Tipps 2010 6 15.03.2010 12:09
Datensatz im Datensatz DarkManX Datenbanken 21 11.12.2009 17:58
[Erledigt] Tabelle automatisch generieren scheffie PHP Tipps 2009 18 07.06.2009 16:17
Datensatz / Ordner löschen t-stude PHP Tipps 2009 6 20.03.2009 20:47
Suche nach vorhandenem Datensatz pfump PHP Tipps 2008 4 27.11.2008 11:03
datensatz plus datensatz davor u. danach grizu Datenbanken 4 04.11.2008 20:14
Bei UPDATE erkennen, ob der Datensatz existiert? Anotherone Datenbanken 7 01.04.2008 14:49
auf nächsten Datensatz zugreifen cycap Datenbanken 5 18.12.2007 14:32
Datensatz zu max() simsalabim Datenbanken 8 02.10.2007 08:56
datensatz problem 24bits PHP Tipps 2006 1 30.08.2006 18:52
einen variablen datensatz löschen PHP Tipps 2007 3 04.11.2005 12:41
nächsten datensatz bei klick auf button weiter... PHP Tipps 2005-2 1 14.08.2005 12:19
Datensatz geändern? patr1k PHP Tipps 2005 12 14.02.2005 12:46
Leeren Datensatz editierbar machen Anuschka PHP Tipps 2004-2 1 27.12.2004 13:28
Datensatz abfragen und in Formularfeldern ausgeben Datenbanken 1 25.08.2004 09:24

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
voriger oder vorheriger, http://www.php.de/datenbanken/70287-vorheriger-naechster-datensatz.html, sql nächster datensatz, voriger vorheriger, sql vorheriger datensatz, php nächster datensatz, select nächster eintrag, nächsten datensatz sql, sql vorherigen satz, vorheriger wert php, datensatz php vorheriger nächster, wert von voriger datensatz, nächster datensatz sql, \vorheriger datensatz\, sql vorherigen und nächsten datensatz, php button nächster datensatz, id von vorheriger tabelle benutzen php, nächster datensatz entfernen, bei klick nächster datensatz php, löschen datensatz vergleich vorheriger datensatz sql

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum