Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mysql order by sortieren nach definierten Informationen

Frage Entwicklung Datenbanken

Mitglied: gechger

gechger (Level 1) - Jetzt verbinden

17.02.2009, aktualisiert 11:03 Uhr, 5005 Aufrufe, 10 Kommentare

habe mich intensiv mit dem order by von MySql beschäftigt, aber keine Lösung für mein Ziel gefunden.

Hallo Forum,

vielleicht hat jemand von Euch eine Idee.
Ich weiss, daß ich mit order by Spalteninhalte sortieren kann. Ich habe aber Informationen in einer Datenbank, die sich so nicht sortieren lassen, zumindest nicht so wie ich es brauche.

So sieht ein Datensatz in der Spalte "Werte" aus:
2009-02-17_06:13:56 table=BB bTYP=10105 bLOG=1495 bDAT=2009-02-17_06:13:52 bIMP=2497 bFLAG=0 bGPS=A,4846.5878,N,01138.3975,E, bTER=6595 bPER=6009

Die Informationen liegen mit TAB getrennt vor, also bTYP=10105 TAB bLOG=1495 TAB usw,

Die Ausgabe soll jetzt alle Inhalte sortiert nach der Information "bLog=XXXX" ausgeben, also zuerst alle Werte "bLog=00001" dann "alle Werte "blog=0002",...

Kann das mit einer order by Funktion durchgeführt werden oder muß das aufwändiger in php gemacht werden?

Viele Dank für jede Idee.

Schöne Grüße
Christof
Mitglied: godlie
17.02.2009 um 11:47 Uhr
Grundlegendes Datenbankdesign fürn arsch?

Trenn die Feider auf ( btyp, blog, .... ) dann kannst nach ihnen sortieren mit ihnen arbeiten......
Eine Mysql Tabelle kann auch mehr als 3 columns.

Alles andere ( es gibt durchaus ansätze wie man sowas lösen kann ) ist nicht effizeient genug. Umbau der Datenbank bringt dir da mehr.
Bitte warten ..
Mitglied: gechger
17.02.2009 um 11:59 Uhr
Hi Godlie,

Umbau geht leider nicht. Die Datensätze werden so von Blackbox-Geräten in Fahrzeugen produziert, und von verschiedenen Programmen weiterverarbeitet, die alle auf dieser Struktur beruhen. Zur besseren Datenanalyse möchte ich aber die Sortierung nach blog haben. Wenn ein Kunde 40 Fahrzeuge im Einsatz hat und die Daten zeitgleich gesendet werden, stehen sie in der Datenbank so wie sie reinlaufen. Sehr unübersichtlich.

Die Datenbank besteht aus vier Spalten: id (automatisch generiert), den Werten wie oben beschrieben, dem Datum und einem Flag (abgeholt oder noch icht abgeholt).

Dann muß ich das wohl in php lösen.

Aber vielen Dank für Deine Antwort.
Schöne Grüße
Christof
Bitte warten ..
Mitglied: godlie
17.02.2009 um 13:55 Uhr
kannst mir ein paar demodatensätze in csv zukommen lassen?

Sodala mir war grad faad:

01.
$var[] = "2009-02-17_06:13:56 table=BB bTYP=10105 bLOG=1495 bDAT=2009-02-17_06:13:52 bIMP=2497 bFLAG=0 bGPS=A,4846.5878,N,01138.3975,E, bTER=6595 bPER=6009"; 
02.
$var[] = "2009-02-17_06:13:56 table=BB bTYP=10105 bLOG=1235 bDAT=2009-02-17_06:13:52 bIMP=2497 bFLAG=0 bGPS=A,4846.5878,N,01138.3975,E, bTER=6595 bPER=6009"; 
03.
$var[] = "2009-02-17_06:13:56 table=BB bTYP=10105 bLOG=1235 bDAT=2009-02-17_06:13:52 bIMP=2497 bFLAG=0 bGPS=A,4846.5878,N,01138.3975,E, bTER=6595 bPER=6009"; 
04.
$var[] = "2009-02-17_06:13:56 table=BB bTYP=10105 bLOG=1285 bDAT=2009-02-17_06:13:52 bIMP=2497 bFLAG=0 bGPS=A,4846.5878,N,01138.3975,E, bTER=6595 bPER=6009"; 
05.
$var[] = "2009-02-17_06:13:56 table=BB bTYP=10105 bLOG=12 bDAT=2009-02-17_06:13:52 bIMP=2497 bFLAG=0 bGPS=A,4846.5878,N,01138.3975,E, bTER=6595 bPER=6009"; 
06.
$var[] = "2009-02-17_06:13:56 table=BB bTYP=10105 bLOG=0001 bDAT=2009-02-17_06:13:52 bIMP=2497 bFLAG=0 bGPS=A,4846.5878,N,01138.3975,E, bTER=6595 bPER=6009"; 
07.
 
08.
$arr = array(); 
09.
foreach( $var as $val ) 
10.
11.
  $tes = explode(" ",$val); 
12.
  $blogValue = substr($tes[3],5,4); 
13.
  $arr[$blogValue][] = $val; 
14.
15.
ksort($arr); 
16.
var_dump( $arr );
Hier hast du dann ein Mehrdimensionales Array ansprechbar über den Blog Wert also z.B.: $arr["1945"]
mit ksort das ganze noch sortiert und dann viel spaß damit.....
Bitte warten ..
Mitglied: gechger
17.02.2009 um 15:55 Uhr
Hallo Godie,

habe mich mal mit Deinem Vorschlag befasst. Die Funktion $var, muß die mit dem Array verbunden werden, in dem die Werte bereits stehen?

01.
while($array = mysql_fetch_array($abfrage)){ 
02.
        $var=$array; 
03.
        $arr = array(); 
04.
        foreach( $var as $val ) 
05.
06.
        $tes = explode("\t ",$val); 
07.
        $blogValue = substr($tes[3],5,4); 
08.
        $arr[$blogValue][] = $val; 
09.
10.
        ksort($arr); 
11.
        var_dump( $arr );
Schöne Grüße
Christof

PS: hier 1 findest Du ein paar Beispiel Datensätze
Bitte warten ..
Mitglied: godlie
17.02.2009 um 16:02 Uhr
Ich bin jetzt nur zu faul das nachzubauen also mal auf gut glück raten

01.
$allInformation=array(); 
02.
 
03.
//..... die ganze datenbankverbindungsundsonstigesache...... 
04.
 
05.
while($array = mysql_fetch_array($abfrage)) { 
06.
  $werte = explode("\t ", $abfrage[1] );  //bin mir hier nicht so ganz sicher je nachdem was für eine spalte es ist.. 
07.
  $blogValue = $werte[3],5,4); 
08.
  $allInformation[$blogValue][] = $werte; 
09.
10.
 
11.
//ein abschliesendes Sortieren 
12.
ksort($allInformation); 
13.
 
14.
//und mal schaun was rauskommt 
15.
echo '<pre>' 
16.
var_dump($allInformation); 
17.
echo '</pre>'; 
18.
 
19.
// pre tags damits strukturierter aussieht
Bitte warten ..
Mitglied: gechger
17.02.2009 um 16:14 Uhr
Hallo Godie,

habs jetzt mal angepasst

01.
 while($array = mysql_fetch_array($abfrage)){ 
02.
        $werte=explode("\t", $abfrage[1]); 
03.
        $blogValue = ($werte[4]); 
04.
        $allInformation[$blogValue][] = $werte; 
05.
06.
        ksort($allInformation); 
07.
        echo "<pre>"; 
08.
        var_dump( $arr ); 
09.
        echo "</pre>";
und es kommt war raus:

NULL

Christof

PS: man sollte allerdings auch var_dump( $allinformation) nehmen anstatt var_dump( $arr );
Bitte warten ..
Mitglied: godlie
17.02.2009 um 16:22 Uhr
Also gut dann ncohmal ans Reisbrett

01.
$allInformation=array();  
02.
//..... die ganze datenbankverbindungsundsonstigesache......  
03.
 
04.
while($array = mysql_fetch_array($abfrage)) {  
05.
  $werte = explode("\t ", $array[1] );  //<-- hier war ein fehler bin mir hier nicht so ganz sicher je nachdem was für eine spalte es ist..  
06.
  $blogValue = substr($werte[3],5,4);  
07.
  $allInformation[$blogValue][] = $array;  //<-- da war auch ein fehler 
08.
}  
09.
 
10.
//ein abschliesendes Sortieren 
11.
ksort($allInformation);  
12.
echo '<pre>'  
13.
var_dump($allInformation);  
14.
echo '</pre>'; 
Bitte warten ..
Mitglied: gechger
17.02.2009 um 16:24 Uhr
bis jetzt kriege ich nur so was raus:

Array
(
[] => Array
(
[0] => Array
(
[0] =>
)

[1] => Array
(
[0] =>
)

[2] => Array
(
[0] =>
)
Bitte warten ..
Mitglied: godlie
17.02.2009 um 16:26 Uhr
Hab oben noch was ausgebessert, damit sollte es jetzt funkionieren ansonsten lass mir Demodaten zukommen, dann bau ich das in eine DB und teste selbst mal durch.
Bitte warten ..
Mitglied: gechger
17.02.2009 um 16:39 Uhr
wie es aussieht scheint es damit zu klappen:

01.
while($array = mysql_fetch_array($abfrage)){ 
02.
        $werte=explode("\t", $array[1]); 
03.
        $blogValue = ($werte[3]); 
04.
        $allInformation[$blogValue][] = $werte; 
05.
         echo "<pre>"; 
06.
        //print_r( $blogValue); 
07.
        //print_r($werte[3]); 
08.
        echo "</pre>"; 
09.
10.
        ksort($allInformation); 
11.
        echo "<pre>"; 
12.
        print_r( $allInformation); 
13.
        echo "</pre>";
Ichmach mir die Ausgabe jetzt nur noch schön.

Viiieeelen Dank
Christof
Bitte warten ..
Ähnliche Inhalte
Datenbanken
MySQL "order by" erst bestimmtes Wort, dann alphabetisch
gelöst Frage von AS-N00Datenbanken9 Kommentare

Hallo, ich möchte die Ausgabe eines Listings in einem Webshop so einstellen, dass er bei der Abfrage for der ...

VB for Applications
In VBA ein (Order by )
gelöst Frage von chaos2goVB for Applications2 Kommentare

cheers Leute, ich hab folgendes anliegen : Hab ein Report als Excel Tabelle Spalten gehn von A - AM ...

Datenbanken
MYSQL View group by
gelöst Frage von schneerunzelDatenbanken2 Kommentare

Hallo zusammen, ich habe eine Tabelle in einer MySQL DB über die ich eine View legen möchte: Die Tabelle ...

Datenbanken
SQL ORDER BY und Join mit 2 Tabellen
gelöst Frage von DippsDatenbanken7 Kommentare

Hallo an alle, ich versuche gerade eine Join mit 2 Tabellen auf zubauen und mir den letzten Datensatz Anzeigen ...

Neue Wissensbeiträge
Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 36 MinutenVerschlüsselung & Zertifikate

Interessant SSH-Kommando in CMD.exe und PowerShell

Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement17 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...