php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.05.2007, 21:27  
Erfahrener Benutzer
 
Registriert seit: 25.05.2004
Beiträge: 229
lindner
lindner eine Nachricht über ICQ schicken
Standard letzte x zeilen aus der db holen

hi.

ich habe eine relativ simple frage. ich hab nicht so richtig gewusst, welche suchparameter man bei diesem thema anwenden soll, daher stell ich jetzt einfach die frage so!

ich möchte die letzten x beiträge einer mysql db auslesen.
mein bisheriger weg ist so

Code:
SELECT * FROM tabelle ORDER BY Id DESC LIMIT X

while($inhalt = mysql_fetch_array($qry)) {
    $neues_array[] = $inhalt[*];
}
krsort($neues_array);
mit krsort kann man ja ein array die schlüssel absteigend sortieren. ich finde diese art und weise aber etwas umständlich und wünschte mir eine SQL Lösung. gibts sowas, oder wo kann man das nachlesen (nach was muss ich suchen?)

vielen dank für eure hilfe im voraus.
liebe grüße

lindner
lindner ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 11.05.2007, 21:56  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo lindner,

ich verstehe dein Problem nicht. Mit einem ORDER BY Id DESC ordnest du doch die Ergebnis-Datensätze bereits nach der Id absteigend...
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 11.05.2007, 22:04  
Erfahrener Benutzer
 
Registriert seit: 25.05.2004
Beiträge: 229
lindner
lindner eine Nachricht über ICQ schicken
Standard

da hab ich wohl ne sache vergessen.

ich möchte aufsteigend die letztens x datensätze haben..

folgendes beispiel, ich habe folgende tabelle

1
2
3
4
5
6
7
8

wenn ich jetzt mit ORDER BY Id DESC LIMIT 3 die letzte drei auslesen will, bekomme ich eine ergebnismenge die wie folgt aussieht

8
7
6

sie sollte aber so aussehen

6
7
8

bei kleinen mengen ist die sache ja noch überschaubar, wenn ich aber 2000 datensätze erstmal zwischenspeichern muss, wirds mühsählig!

verstehst du jetzt mein problem?!
grüße

lindner
lindner ist offline   Mit Zitat antworten
Alt 11.05.2007, 22:23  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Wo issn jetzt das Problem? ^^ Ob nun 678 oder 876 is doch erstmal egal. Wenn du 6 zuerst haben willst, schau doch mal bei den array_*-Funktionen
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline   Mit Zitat antworten
Alt 11.05.2007, 22:23  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo lindner,

und was spricht die MySQL bei einem

Code:
ORDER BY Id ASC
? Bzw. wenn es immer die letzten x sein sollen könnte ein

Code:
LIMIT MAX(Id), MAX(Id) - x
evtl. helfen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 11.05.2007, 23:20  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Bitte vor dem nächsten mal antworten vorher die Frage ordentlich lesen. Ich finde es ist alles aus der Ursprungsfrage hervorgegangen. Gewünscht sind die letzten n Einträge in aufsteigender Reihenfolge. lindner hat durch ORDER DESC und LIMIT die Einträge ausgelesen und sie durch krsort () wieder richtigherum sortiert.
MAX(Id) funktioniert bei mir nicht (richtiger wäre wohl auch COUNT() zu verwenden), ebensowenig wie LIMIT n,-1 (obwohl so dokumentiert). Ambesten ist wohl, Du bestimmst vorher die Anzahl der Datensätze und verwendest dann
PHP-Code:
<?
' LIMIT ' . ($iCount-$n) . ', ' $n;
nikosch ist offline   Mit Zitat antworten
Alt 12.05.2007, 08:45  
Erfahrener Benutzer
 
Registriert seit: 25.05.2004
Beiträge: 229
lindner
lindner eine Nachricht über ICQ schicken
Standard

danke nikosch. ja das könnte mir weiterhelfen.
hatte eigentlich auch gedacht, mich verständlich ausgedrückt zu haben

ich werds dann gleich mal ausprobieren!
liebe grüße

lindner
lindner ist offline   Mit Zitat antworten
Alt 12.05.2007, 09:58  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo nikosch77,

Zitat:
Bitte vor dem nächsten mal antworten vorher die Frage ordentlich lesen.
Sorry, aber wenn mir die Frage bereits durch den geposteten Code beantwortet scheint, darf ich doch sicher nachfragen, oder?
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 13.05.2007, 03:49  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Du möchtest die aktuellsten 3 Datensätze, aber aufsteigend sortiert?

Code:
SELECT * 
FROM (
  SELECT * 
  FROM tabelle
  ORDER BY id DESC
  LIMIT 3
) a
ORDER BY id
DiBo33 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
Sql Updates mehrer Zeilen Fr33z3m4n PHP Tipps 2006 7 10.02.2006 09:07
Zeilen heruasfinden?! PHP Tipps 2007 4 02.12.2005 16:53
[Erledigt] Datei holen über http Server, Hosting und Workstations 8 04.10.2005 10:59
Leere Zeilen löschen Datenbanken 4 22.07.2005 13:19
[Erledigt] MySQL Zeilen lassen sich nicht kategorisieren Datenbanken 3 24.05.2005 01:15
zeilen lesen/zählen PHP Tipps 2005 10 20.05.2005 23:15
zeilen aus dateien holen Sclot PHP Tipps 2005 7 25.04.2005 14:51
mehrere zufällige Zeilen aus der DB holen PHP Tipps 2005 2 07.04.2005 22:04
Datenausgabe in 2 Spalten und mehrere Zeilen mediaindesign Datenbanken 8 27.03.2005 09:13
[Erledigt] Bild-Breite und -Höhe anders holen PHP Tipps 2005 2 15.03.2005 13:43
[Erledigt] Wei ersten n Zeilen von eMail-Body auslesen?? PHP-Fortgeschrittene 3 30.01.2005 17:22
[Erledigt] Doppelte zeilen löschen Datenbanken 8 06.12.2004 17:17
wieviel zeilen in einer csv Ohrwurm83 PHP Tipps 2004 1 30.10.2004 00:40
mehrere Zeilen updaten Unbekanntes_Pferd Datenbanken 2 15.10.2004 11:06
Zeilen eines Arrays prüfen PHP Tipps 2004 2 13.08.2004 13:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql zeile mit max id holen where max, sql zeile mit max id holen, php select letzte x aus db, zeilen aus db holen, krsort php anwenden

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