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 PHP mySQL Daten gruppiert ausgeben

Mitglied: dark3zz

dark3zz (Level 1) - Jetzt verbinden

04.10.2011, aktualisiert 22.10.2011, 8763 Aufrufe, 15 Kommentare

Hallo. Ich komme nicht auf eine Anständige Lösung wie ich Daten aus einer mySQL gruppiert ausgeben soll.

In der DB stehen user. zu jedem user gehört eine FIRMA.

die FIRMA soll dann gruppiert ausgegeben werden damit ich die FIRMA sehe und alle User dazu

Anbei ein paar bilder


...........................................................................................
DB Inhalt, so wie es gespeichert wird
da46e192e8787e94270bb99a0cc13583 - Klicke auf das Bild, um es zu vergrößern
...........................................................................................
So sollte es Grupiert ausgegeben werden.
f06e326ca34c6e0125517f58a98ba372 - Klicke auf das Bild, um es zu vergrößern
...........................................................................................


Merci fuer eure tipps
Mitglied: nxclass
04.10.2011 um 15:24 Uhr
... user. zu jedem user gehört eine FIRMA.
... einfach deine Tabelle nach Firma sortieren
01.
SELECT `firma`, `name`
02.
FROM `tabelle`
03.
ORDER BY `firma`
04.
;
Bitte warten ..
Mitglied: SlainteMhath
04.10.2011 um 15:25 Uhr
Moin,

Das Query sieht so aus:
01.
SELECT * FROM tabelle ORDER BY Firma ASC, username ASC"
Im Code prüfst du dann ob sich das Firma-Feld gegenüber dem letzten Datensatz verändert hat, oder immer noch gleich ist.
Wenn gleich => Ausgabe : (leer) | Username | ....
Wenn Ungleich => Ausgabe: Firma | Username | ...

lg,
Slainte
Bitte warten ..
Mitglied: dark3zz
04.10.2011 um 15:29 Uhr
Zitat von SlainteMhath:


Im Code prüfst du dann ob sich das Firma-Feld gegenüber dem letzten Datensatz verändert hat, oder immer noch gleich
ist.
Wenn gleich => Ausgabe : (leer) | Username | ....
Wenn Ungleich => Ausgabe: Firma | Username | ...

lg,
Slainte

Hi Slainte. Wie prüfe ich denn einen Datensatz vor einem anderen in derselben Abfrage ?
Bitte warten ..
Mitglied: dark3zz
04.10.2011 um 15:31 Uhr
hi nxclass. dann habe ich eben keine gruppierung, resp moechte die firma nur 1x anzeigen lassen und nicht bei jedem user.
Bitte warten ..
Mitglied: SlainteMhath
04.10.2011 um 15:32 Uhr
Hi Slainte. Wie prüfe ich denn einen Datensatz vor einem anderen in derselben Abfrage ?
Die Prüfung erfolgt nicht in der Abfrage, sondern in PHP
Bitte warten ..
Mitglied: dark3zz
04.10.2011 um 15:36 Uhr
Hiaz

klaro. frage mich nun nur nach der syntax.



if $row[firma] == $row[firma]
{
echo "";
}
else
{
echo "Firma";
}





klappt natuerlich nicht
Bitte warten ..
Mitglied: nxclass
04.10.2011 um 15:36 Uhr
... mit der Ergebnismenge zu arbeiten wird dann aber nicht sehr schön.
Dann lieber:
01.
SELECT `firma`, GROUP_CONCAT(', ', `name`)
02.
FROM `tabelle`
03.
GROUP BY `firma`
04.
ORDER BY  `firma`
05.
;
..in php kannst du dann mit explode(', ', $namen) die namen auch wieder trennen.
Bitte warten ..
Mitglied: dog
04.10.2011 um 15:37 Uhr
Du musst eine temporäre Variable mit dem Wert der vorherigen Zeile einführen.
Bitte warten ..
Mitglied: SlainteMhath
04.10.2011 um 15:38 Uhr
Zitat von dog:
Du musst eine temporäre Variable mit dem Wert der vorherigen Zeile einführen.
Korrekt.
Bitte warten ..
Mitglied: dark3zz
04.10.2011 um 15:40 Uhr
aah dang, alles klar! versuche ich gleich. thanx alot!
Bitte warten ..
Mitglied: dark3zz
04.10.2011 um 15:49 Uhr
hmm alles logisch. frage mich nun aber doch wie ich die firma aus dem letzten datensatz in eine variable schreibe.....dad will nicht so richtig

meine query
01.
    $query = mysql_query("SELECT * FROM xxx ORDER BY firma ASC, username ASC") or die(mysql_error());
zuerst setze ich diese temporäre variable aus der ausgelesenen row
01.
$firmaname= $row['firma'];
dann die entscheidung beim aufbau der tabelle
01.
                // gruppieren der firmen
02.
                if ($row['firma'] != $firmaname)
03.
                {
04.
                    echo "Firma";
05.
                }
06.
                    else
07.
                    {
08.
                        echo "";
09.
                    }
Bitte warten ..
Mitglied: SlainteMhath
04.10.2011 um 15:55 Uhr
Das Setzen
01.
$firmaname= $row['firma'];
muss NACH der If-Abfrage Kommen, ist ist $row['firma'] != $firmaname ja niemals TRUE.
Bitte warten ..
Mitglied: dark3zz
04.10.2011 um 15:56 Uhr
lol ja, ist mir eben aufgefallen. muss die temp var danach setzen :----)
Bitte warten ..
Mitglied: dark3zz
04.10.2011 um 16:19 Uhr
ja, geht bestens.

herzlichen dank an euch alle ! great work
Bitte warten ..
Mitglied: dark3zz
04.10.2011 um 16:21 Uhr
danke dir, habs nun einfacher gelöst, siehe unten. eigentlich simpel....
Bitte warten ..
Ähnliche Inhalte
PHP
PHP MySQL Login
Frage von YanmaiPHP7 Kommentare

Hallo ihr Administratoren, ich habe eine Datenbank, in der alle User des Netzwerkes enthalten sind. Wenn ein User sich ...

PHP
Benutzerregistrierung php, mysql
Frage von zelamediaPHP5 Kommentare

Hallo, kennt jemand ein gutes Tutorial/Anleitung wie ich mit php/mysql eine einfache Benutzer-Registrierung umsetzte mit Benutzerrollen also Administrator/Mitarbeiter usw. ...

PHP
HTML PHP MySQL Webanwendung
Frage von hahaxd3PHP12 Kommentare

Hallo Leute, Ich möchte gerne Meine Datenbank auf einer webseite darstellen. Dabei sollte diese Als normale Tabelle dargestellt sein. ...

PHP
PHP - MySQL-Ausgabe editieren
gelöst Frage von ThoomaasPHP19 Kommentare

Hallo alle zusammen! Ich bin gerade dabei ein Portal für meine Firma zu basteln. Hierbei sollen die User Protokolle ...

Neue Wissensbeiträge
Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 11 StundenWindows 101 Kommentar

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 14 StundenSicherheit5 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Microsoft Office
TEAMS - Skype for business
Tipp von Nebellicht vor 14 StundenMicrosoft Office

Hallo, ms ersetzt Skype for business durch TEAMS. Also, nicht wundern wenn mit der OFFICE365 Umgebung kein Skype for ...

Windows 10

Windows 10: Cortana und die Suche gehen bald wieder eigene Wege

Information von Frank vor 18 StundenWindows 102 Kommentare

Microsoft hat einen neuen Insider Build von Windows 10 veröffentlicht (Fast Ring, Version 18317), wo die digitale Assistentin "Cortana" ...

Heiß diskutierte Inhalte
Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server23 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Switche und Hubs
Medienkonverter mit 12 oder 24 Ports gesucht
Frage von wmuellerSwitche und Hubs21 Kommentare

Guten Morgen, ich bin auf der Suche nach einem größeren Medienkonverter, der "stumpf" 1:1 die Ports auf über ein ...

Debian
OpenSSH Login mit Public Key schlägt fehl, mit Passwort funktioniert
gelöst Frage von DKowalkeDebian19 Kommentare

Hallo zusammen, ich hatte hier schon nach einer Anleitung für einen SFTP Server mit Linux gefragt, habe dort auch ...

Windows 10
VM wächst schnell von 14 auf 35 GB an - warum?
Frage von degudejungWindows 1018 Kommentare

Hallo, ich bin ein Freund schlanker VMs und setze daher gerne mit dem Erscheinen einer neuen Win10 Version - ...