Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Entwicklung PHP

Mitglied: dark3zz

dark3zz (Level 1) - Jetzt verbinden

04.10.2011, aktualisiert 22.10.2011, 8286 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
Benutzerregistrierung php, mysql (4)

Frage von zelamedia zum Thema PHP ...

Datenbanken
gelöst SQL - nur Daten mit niedrigster ID ausgeben (1)

Frage von winscheil zum Thema Datenbanken ...

VB for Applications
gelöst Feld mit CSV-Daten aus MySQL-Datenbank einlesen (3)

Frage von Andreas.HH1 zum Thema VB for Applications ...

C und C++
C-Sharp Daten von PHP lokal speichern (3)

Frage von Yanmai zum Thema C und C ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Batch & Shell
Batch Programm verhalten bei shoutdown -p (17)

Frage von Michael-ITler zum Thema Batch & Shell ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...