Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 7742 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
PHP
PHP MySQL Login (7)

Frage von Yanmai zum Thema PHP ...

PHP
gelöst PHP-MySQL - mysqli liefert einen Datensatz zu wenig (3)

Frage von Windows-Spieler zum Thema PHP ...

Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
RODC über VPN - Verbindung weg (10)

Frage von stefan2k1 zum Thema Windows Server ...