php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 10-01-2008, 07:05
Schimpy
 Newbie
Links : Onlinestatus : Schimpy ist offline
Registriert seit: Jan 2008
Beiträge: 14
Schimpy ist zur Zeit noch ein unbeschriebenes Blatt
Standard PHP - order by - sortieren nach mehreren Tabellenfeldern

Hallo,

ich habe eine Frage und hoffe mir kann jemand helfen...

ich habe eine Tabelle mit X - Feldern, z.B. datum1,datum2,datum3

Inhalt z.B. 01.01.2008, 02.01.2008. 03.01.2008 usw

kann ich diese trotzdem iwie sortieren?

normalerweise ja "SELECT.... ORDER BY datum"

aber wie mach ich das wenn ich mehrere Felder habe?

ich dachte an sowas wie eine Reihenfolge in einem neuen Feld festlegen,
aber kA ob und wie das ginge

evtl. beim einfügen von datumX das Feld "reihenfolge" auslesen und ne zahl für die reihenfolge rein...

z.B. datum1 = 01.01.2008, reihenfolge = datum1
... datum2 = 03.01.2008, reihenfolge = datum1, datum2
...datum3 = 06.01.2008, reihenfolge = datum1, datum2, datum 3
...datum4 = 04.01.2008, reihenfolge = datum1,datum2, datum4, datum3
...datum5 = 02.01.2008, reihenfolge = datum1, datum5, datum2, datum 4, datum 3

usw...

ginge das?!

help
Mit Zitat antworten
  #2 (permalink)  
Alt 10-01-2008, 07:31
dani_o
 PHP Senior
Links : Onlinestatus : dani_o ist offline
Registriert seit: Jun 2003
Ort: Lichtenstein/Sa.
Beiträge: 1.599
dani_o befindet sich auf einem aufstrebenden Ast
Standard

Also ein "ORDER" ist ja die sortierung der abfrage. nimmst du "ORDER BY datum" wird nach dem neuesten datum gesucht. Nimmst Du "ORDER BY datum DESC" wird nach dem ältesten datum gesucht.

möglich wäre da noch ein "datum LIKE '%$datum%' zu verwenden. allerdings bekommst du da nicht alle ergebnisse. ich denk da musst du dir ne funktion schreiben, die alles ausliest und dann entsprechend nach deinen kriterien sortiert.
__________________
Signatur-Text ...
Mit Zitat antworten
  #3 (permalink)  
Alt 10-01-2008, 08:12
krel
 Registrierter Benutzer
Links : Onlinestatus : krel ist offline
Registriert seit: Nov 2006
Ort: Osnabrück
Beiträge: 424
krel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich kann mich ja auch täuschen, aber funzt da nicht ein einfaches
SELECT * FROM table ORDER BY datum1 ASC, datum2 ASC, datum3 ASC
usw??
Mit Zitat antworten
  #4 (permalink)  
Alt 10-01-2008, 09:55
dani_o
 PHP Senior
Links : Onlinestatus : dani_o ist offline
Registriert seit: Jun 2003
Ort: Lichtenstein/Sa.
Beiträge: 1.599
dani_o befindet sich auf einem aufstrebenden Ast
Standard

lach - ehrlich? keine ahnung! hatte diesen fall noch nicht *schäm*
__________________
Signatur-Text ...
Mit Zitat antworten
  #5 (permalink)  
Alt 10-01-2008, 10:19
Schimpy
 Newbie
Links : Onlinestatus : Schimpy ist offline
Registriert seit: Jan 2008
Beiträge: 14
Schimpy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke für eure Antworten

das Problem ist... dass ich eigentlich nach einer Uhrzeit sortieren muss und zwar erst nachdem ich nach dem Datum sortiert hab...

hab also folgendes vor ( kA obs so geht... )

SELECT * FROM 'tabelle' where id=$id ORDER BY datum ASC, uhrzeit1 ASC, uhrzeit2 ASC, uhrzeit3 ASC ...

ich möchte also erst nach dem Datum sortieren und dann nach der Uhrzeit

ich werds mal ausprobieren
Mit Zitat antworten
  #6 (permalink)  
Alt 10-01-2008, 10:23
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wenn du es probiert hättest, hättest du wohl sicher gemerkt, dass es geht

wenn ich mich nu nicht zu gewaltig täusche, siehts so aus:

order by [primäres kriterium],[innerhalb des ersten kriterium sortiere nach zweitem kriterium], und so weiter....

äh, war das verständlich??
__________________
**********
arkos
**********
Mit Zitat antworten
  #7 (permalink)  
Alt 10-01-2008, 11:15
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von arkos
äh, war das verständlich??
Ja, und richtig.
Mit Zitat antworten
  #8 (permalink)  
Alt 10-01-2008, 14:54
Schimpy
 Newbie
Links : Onlinestatus : Schimpy ist offline
Registriert seit: Jan 2008
Beiträge: 14
Schimpy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mhh entweder ich peils net oder da is doch en Ausdruckfehler

Bsp.:

id datum uhrzeit1 uhrzeit2 termin1 autor1 termin2 autor2
1 01.01. 08 09 a dirk d tim
2 02.01. 11 09 b lothar e rick
3 03.01. 07 10 c tobi f lisa

ich mach jetzt ne Abfrage SELECT * FROM '' ORDER by ID

und gebe zB das Datum aus

er gibt mir dann also 01.01.,02.01.,03.01.,... aus

dadrin befindet sich eine Abfrage die sich auf weitere Felder bezieht, zB Termin, Autor

also wieder ein SELECT * FROM where datum=$datum

er gibt mir dann also bei ID 2, Datum 02.01. zB den Termin + Autor aus

nun möchte ich aber die Termine vom 02.01. nach der Uhrzeit sortiert haben... also beim 02.01. käme dann also Termin2 um 09 Uhr zuerst, Termin1 der um 11 Uhr ist, erst danach...

gruß
Schimpy
Mit Zitat antworten
  #9 (permalink)  
Alt 10-01-2008, 15:15
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

gib einfach mal folgendes ein um zu sehen, was passiert.

select * from deine_tabelle order by datum ASC, uhrzeit1 ASC;


MAL SO GANZ AM RANDE.... welche formate haben deine datenbankfelder????????
__________________
**********
arkos
**********
Mit Zitat antworten
  #10 (permalink)  
Alt 10-01-2008, 15:34
Schimpy
 Newbie
Links : Onlinestatus : Schimpy ist offline
Registriert seit: Jan 2008
Beiträge: 14
Schimpy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von arkos
gib einfach mal folgendes ein um zu sehen, was passiert.
select * from deine_tabelle order by datum ASC, uhrzeit1 ASC;


das habe ich eingegeben, passiert genau das selbe...
ob ich uhrzeit1 ASC, uhrzeit2 ASC,uhrzeit3 ASC hinschreibe oder nicht
ist dem total Latte, gibt keine Fehlermeldung und auch sonst nichts

Zitat:
MAL SO GANZ AM RANDE.... welche formate haben deine datenbankfelder????????
das Feld uhrzeit ist vom typ VARCHAR
dürfte aber trotzdem klappen, da ich andere Felder mit VARCHAR habe und die lassen sich auch anhand von zahlen sortieren...
Mit Zitat antworten
  #11 (permalink)  
Alt 10-01-2008, 15:50
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du willst VARCHAR felder so sortieren, wie man es mit DATE und co macht? da denk mal drüber nach... mach das ordentlich...
__________________
**********
arkos
**********
Mit Zitat antworten
  #12 (permalink)  
Alt 11-01-2008, 08:31
Schimpy
 Newbie
Links : Onlinestatus : Schimpy ist offline
Registriert seit: Jan 2008
Beiträge: 14
Schimpy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

okay habs geändert...

aber hilft mir ja trotzdem nicht weiter

da mir ein ORDER BY uhrzeit nix bringt...
da ich ja alle Werte uhrzeit1,uhrzeit2,uhrzeit3 unter einen Hut bringen muss...

hab schon versucht die bei jedem Beitrag in ne andere Datenbank umzuspeichern... aber das klappt och net so richtig

helllllppp
Mit Zitat antworten
  #13 (permalink)  
Alt 11-01-2008, 09:50
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Deine Tabelle scheint nicht richtig Normalisiert zu sein!
Mit Zitat antworten
  #14 (permalink)  
Alt 11-01-2008, 10:10
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich würde dir empfehlen, deine db umzugestalten. pack die termine doch einfach kombiniert in ein Datetime-Feld. Die kannst du hand herzallerliebst sortieren.

lesen:
http://dev.mysql.com/doc/refman/5.0/en/datetime.html


guten morgen

edit: gibts ja auch auf deutsch
http://dev.mysql.com/doc/refman/5.1/de/datetime.html
__________________
**********
arkos
**********
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:33 Uhr.