php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.02.2005, 17:00  
Gast
 
Beiträge: n/a
Standard Datennummerierung

Kleine Frage:

Ich starte eine Abfrage und bekomme 66 Datensätze ausgespuckt.
Nun bearbeite ich den Datensatz mit ID-Nr. 54
Kann ich dann irgendwie abfragen, welcher der 66 Datensätze jener mit der ID 54 ist?
Also zum Beispiel dass der Datensatz mit ID 54 an Stelle X der Ausgabetabelle liegt?
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.02.2005, 17:09  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

wenn du nur einen editieren willst, warum dann alle abholen?
in dein query ein
WHERE id = 54
einbauen
alles andere ist normalerweise unnötiger traffic und unnötige last für den server.
robo47 ist offline   Mit Zitat antworten
Alt 23.02.2005, 17:31  
Gast
 
Beiträge: n/a
Standard

Es geht um eine Bilder Gallerie. Ich habe da 30 Thumbnails auf einer Seite. Wenn man auf eines draufklickt öffnet sich ein Fenster mit dem grösseren Bild drin. Damit man nicht immer das Fenster schliessen muss um ein neues anzeigen zulassen will ich das mit "Vorheriges | Nächstes Bild" lösen. dafür brauche ich die Gesamtanzahl der Bilder plus einen "Zeiger", wo man sich gerade befindet (z.B Bild 3/59)
  Mit Zitat antworten
Alt 23.02.2005, 17:36  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

wow gute frage,

hmm ein query mit

WHERE id > momentande ID ORDER BY id ASC LIMIT 1
und eins mit

WHERE id < momentande ID ORDER BY id DESC LIMIT 1

hoffe hab jetzt ned ASC und DESC vertauscht :P aber müsste von der logik her funzen, sprich IDs von oben nach unten sotieren, dann die suchen die grlßer sind und den obersten [LIMIT 1] nehmen und umgekehrt.

sind halt 2 querys, ob sich das in eins packen lässt weis ich nicht :P aber wäre mal interssant zu wissen ob man das in eins bekommt
robo47 ist offline   Mit Zitat antworten
Alt 23.02.2005, 17:41  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von oaki
dafür brauche ich die Gesamtanzahl der Bilder plus einen "Zeiger", wo man sich gerade befindet (z.B Bild 3/59)
Prinzipiell hält man sich daran:
17.10. Ich habe eine Tabelle mit n Einträgen und möchte auf jeder Seite m davon anzeigen
http://www.php-faq.de/q/q-mysql-seitenweise.html

In Deinem Falle ist m == 1
  Mit Zitat antworten
Alt 23.02.2005, 17:45  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

@meikel

entweder irre ich mich oder versteh das ganze nciht, weil es ja nciht darum geht X auf einer seite auszugeben, sondern die ID des vorhergehen und des folgenden BILDES zu bestimmen. und da ja datensötze unter umständen gelöscht werden ist halt die ID nciht einfach ID + und ID -1 sondern mann muss in der datenbank die id des datensatzes davor und danach finden
robo47 ist offline   Mit Zitat antworten
Alt 23.02.2005, 20:06  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von robo47
und da ja datensötze unter umständen gelöscht werden ist halt die ID nciht einfach ID + und ID -1 sondern mann muss in der datenbank die id des datensatzes davor und danach finden
Man darf nicht nach ID suchen sondern man muß mit LIMIT operieren.

Code:
SELECT <spaltenliste> FROM table LIMIT $min,2
Das selektiert $min, $min+1 und $min+2
Übersetzt: [-1][aktuell][+1]
Bei Datensätzen, die LIMIT ausgewählt werden, hat man ja keine Lücken.
  Mit Zitat antworten
Alt 23.02.2005, 23:44  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

steh ich grad total auf dem schlauch ?
öhm woher kenne ich aber $min ? ich weis doch nur die aktuelle ID ?

weil für limit bräuchte ich ja schon die position des datensatzes?

naja hab wohl ein paar bier zu viel :P meien konzentration ist noch ned so ganz da, werds mir wohl morgen nochmal anschauen, vieleicht versteh ich es dann.

mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 24.02.2005, 00:01  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von robo47
steh ich grad total auf dem schlauch ?
öhm woher kenne ich aber $min ? ich weis doch nur die aktuelle ID ?
Das solltest Du ändern. Merke Dir $min und reiche die Variable weiter.

Alles klar?
  Mit Zitat antworten
Alt 24.02.2005, 00:09  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

hmm okay, die idee ist wirklich besser, bin eignetlich immer vom ansatz ausgegangen dass ich bei sowas die ID benutze, weil ich mittels einer ID eben nen eindutigen bezug zu einem datensatz habe.

mfg
robo47
robo47 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


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:30 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.