php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.10.2008, 16:36  
Neuer Benutzer
 
Registriert seit: 23.09.2008
Beiträge: 29
StrikeDaMic befindet sich auf einem aufstrebenden Ast
Standard MySQL: ORDER nach mehreren Kriterien? / Sessions etc

Hallo alle!

Habe für meine Filme auf dem NAS eine kleine PHP/MySQL Datenbank aufgebaut. Ist alles noch ziemlich roh, aber zwei Dinge bereiten mir noch etwas Kopfzerbrechen.

Seht Euch die DB bitte kurz an (sind noch lauter Testeinträge drin):
Movie Database 0.1b

(ist natürlich nur abrufbar solange das NAS läuft )

1. Versucht bitte, nach Length ordnen zu lassen. Das klappt, wenn Ihr genau hinseht, nicht wirklich - es wird zwar nach Stunde geordnet (mhours), nicht aber sauber nach Minuten (mmins) und Sekunden (msecs).

Ich habe es mit folgenden Queries versucht:

PHP-Code:
SELECT FROM tbMovies WHERE Bedingungen ORDER BY (mhours mminsASCmsecs ASC
SELECT 
FROM tbMovies WHERE Bedingungen ORDER BY mhours ASCmmins ASCmsecs ASC
SELECT 
FROM tbMovies WHERE Bedingungen ORDER BY mhoursmminsmsecs ASC 
... oder halt jeweils DESC. Funktioniert aber nicht wirklich. Nach Stunden wird sauber geordnet, aber Minuten und Sekunden klappen nicht.

Was muss ich da ändern?


2. Ich wollte am Schluss einen Passwortschutz um das Ganze herumbauen. Da ich schon ziemlich stark im DB-Interface mit GET gearbeitet habe und keine Cookies setzen möchte, bleibt wohl nur noch die Möglichkeit mit den Sessions. Ich verstehe aber auch nach intensiver Internetsuche deren grundsätzliche Anwendung nicht ganz, d.h. wie ich das sauber in mein System implementieren würde. Hat jemand vielleicht ein grundsätzliches Tutorial oder Ähnliches zu empfehlen?

Schon jetzt vielen Dank für Eure Mühe und Hilfe!

Gruss

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

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

Alt 08.10.2008, 16:37  
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

Von wegen Stunden gehen...

Wie sollen wir das jetzt wissen, wir kennen doch Deine Struktur gar nicht...
Ansonsten vergelich halt einfach den Gesamtstring (alles in einem Feld oder CONCAT())
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 08.10.2008, 16:43  
Neuer Benutzer
 
Registriert seit: 23.09.2008
Beiträge: 29
StrikeDaMic befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Von wegen Stunden gehen...

Wie sollen wir das jetzt wissen, wir kennen doch Deine Struktur gar nicht...
Ansonsten vergelich halt einfach den Gesamtstring (alles in einem Feld oder CONCAT())
Ja, nach rumprobieren mit der Query gehen auch Stunden nicht mehr ...

Ich habe pro Eintrag in der Filmtabelle tbMovies ein Feld für die Stunden, eins für die Minuten und eins für die Sekunden, das heisst drei Felder, welche diese Längenangabe machen. Meintest Du das mit Struktur?

Ordnen soll es halt so: Wenn z.B. drei Filme alle 2 Stunden lang sind, soll die zweite Ordnungspriorität Minuten sein, und die dritte Sekunden.
StrikeDaMic ist offline   Mit Zitat antworten
Alt 08.10.2008, 16:49  
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

Zitat:
SELECT * FROM tbMovies WHERE Bedingungen ORDER BY mhours ASC, mmins ASC, msecs ASC
Das müßte funktionieren.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 08.10.2008, 16:51  
Neuer Benutzer
 
Registriert seit: 23.09.2008
Beiträge: 29
StrikeDaMic befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Das müßte funktionieren.
Ist angepasst ... funktioniert aber leider nicht ...

Movie Database 0.1b

Verstehe nicht, wieso. Durch die Reihenfolge der ORDER Kriterien in der Query wird ja auch deren Priorität angegeben (erst nach mhours, dann nach mmins, dann nach msecs). Wieso meine DB z.B. so ordnet:

02:59:59
01:23:55
02:33:04
02:32:11
02:02:02

ist mir unverständlich. Auch die Stunden gehen ja nicht.
StrikeDaMic ist offline   Mit Zitat antworten
Alt 08.10.2008, 16:59  
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

Vielleicht solltest Du testweise
a) das Format zusammenspeichern
b) die Felder als TINYINT anlegen und das Format später passend formatieren
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 08.10.2008, 17:03  
Neuer Benutzer
 
Registriert seit: 23.09.2008
Beiträge: 29
StrikeDaMic befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Vielleicht solltest Du testweise
a) das Format zusammenspeichern
b) die Felder als TINYINT anlegen und das Format später passend formatieren
Die Felder sind jeweils TINYINT(2). Meinst Du mit zusammenspeichern, dass ich vielleicht noch ein Feld in der Tabelle machen soll (vielleicht namens mlength) welches die Felder als String (z.B. '02:33:25') zusammenspeichert? Das wäre nicht dumm, aber wenn die Query dann "ORDER BY mlength ASC" wäre, würde das sauber geordnet?
StrikeDaMic ist offline   Mit Zitat antworten
Alt 08.10.2008, 17:30  
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

Weiß ich nicht, war nur eine Idee. Ok, wegen der führenden Nullen hätte ich jetzt keine INT vermutet.. An sich müßte dat so gehen...

Ich vermute ein anderes Problem.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 08.10.2008, 17:54  
Neuer Benutzer
 
Registriert seit: 23.09.2008
Beiträge: 29
StrikeDaMic befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Weiß ich nicht, war nur eine Idee. Ok, wegen der führenden Nullen hätte ich jetzt keine INT vermutet.. An sich müßte dat so gehen...

Ich vermute ein anderes Problem.
Ja ... nur was :S ist echt total komisch, ich sehe einfach keine mögliche Fehlerquelle.

Die Felder sind neben TINYINT auch UNSIGNED ZEROFILL. Soll ja alles sauber dargestellt werden.
StrikeDaMic ist offline   Mit Zitat antworten
Alt 08.10.2008, 18:14  
Benutzer
 
Registriert seit: 29.04.2008
Beiträge: 33
myPages
Standard

Was passiert, wenn du die Kommata bei den ORDER BY-Bedingungen durch logisches Operatoren ersetzt? && bzw. AND?

Ach ja für Sessions: Quakenet/#php Tutorial - de - Einleitung

MfG
__________________
Man braucht drei Dinge im Leben
die Gelassenheit die Dinge hinzunehmen, die man nicht ändern kann,
den Mut die Sachen zu verändern, die man ändern kann,
und die Weisheit zwischen den beiden zu unterscheiden.
myPages 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
ein login-system, basierend auf MySQL und sessions XraYSoLo PHP-Fortgeschrittene 67 27.07.2008 12:21
SESSIONS über MYSQL Problem - schreiben lesen Cyberbob_at_tot PHP Tipps 2005-2 9 19.09.2005 13:17
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql: sortieren mit mehreren prioritäten PHP Tipps 2005-2 4 16.06.2005 08:54
sessions und mysql schmiddy PHP Tipps 2005-2 5 12.06.2005 23:54
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33
SELECT tbl.col AS a ORDER BY tbl.a versionsabhängig? axo Datenbanken 3 15.04.2005 15:50
MySql error -- Suchfunktion mit mehreren Begriffen PHP Tipps 2005 1 12.04.2005 21:06
[Erledigt] MySQL Abfrage aus mehreren Tabellen Datenbanken 1 12.04.2005 17:53
mysql update query mit mehreren Tabellen funktioniert nicht PHP-Fortgeschrittene 5 08.01.2005 16:29
mehrere kriterien für ORDER BY (MySQL) zwelch PHP Tipps 2007 2 03.01.2005 11:14
MYSQL - ORDER BY freitz Datenbanken 3 30.12.2004 00:41
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
order frage php & mysql PHP Tipps 2004 3 04.11.2004 00:45
[Erledigt] PHP5 &a m p; MySQL Datenbanken 5 01.08.2004 05:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql order by 2 kriterien, mysql order by bedingung, mysql order by 2 argumente, mysql order by zwei bedingungen, mysql order by mehrere felder, mysql order by mit bedingung, order by bedingung, mysql order by mehrere, mysql order by mehrere kriterien, mysql order by 2 felder, mysql zwei felder order by, http://www.php.de/datenbanken/47977-mysql-order-nach-mehreren-kriterien-sessions-etc.html, order by nach 2 kriterien, mysql nach 2 kriterien sortieren, mysql order by mehrere argumente, mysql sortieren nach 2 feldern, mysql nach 2 feldern sortieren, mysql nach mehreren kriterien sortieren, mysql order zwei kriterien, mysql order nach mehreren kriterien

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