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 Scriptproblem mit array(), foreach und Sortierung

Frage Entwicklung PHP

Mitglied: 104128

104128 (Level 1)

23.12.2011 um 08:13 Uhr, 3855 Aufrufe, 8 Kommentare

Hier ist ein Auszug aus meinem Quellcode. Vorher werden Daten aus der MySQL gelesen und verarbeitet.

Der Fehler ist nun folgender:
Bei der Ausgabe wird nicht nach Modifikationsdatum sortiert, obwohl über "asort" das Array nach den Timestamps sortiert wird. Kann mir jemand beantworten, wo der Fehler liegt? Danke im voraus.

01.
<?php 
02.
... 
03.
$data = array(); 
04.
		 
05.
		// Filialausgabe 
06.
		print "<b>".$locationdetails['Name']."</b><br />\r\n"
07.
		 
08.
		// Pläne auslesen 
09.
		$open_folder = opendir($planfolder); 
10.
		 
11.
		// Verzeichnis lesen 
12.
		while($file = readdir($open_folder)) { 
13.
 			// Höhere Verzeichnisse nicht anzeigen! 
14.
 			if($file != "." && $file != "..") { 
15.
				$file2 = str_replace(".pdf", "", substr($file, 35, 20)); 
16.
 				if($file2 == $locationdetails['Arbeitsplan']) { 
17.
					$filedate = filemtime($planfolder.$file); 
18.
					$data[$filedate] = $file
19.
					 
20.
21.
22.
23.
		asort($data, SORT_NUMERIC); 
24.
		foreach ($data as $date => $file3) { 
25.
			$date = date("d.m.Y - H:i", $date); 
26.
			print $date." Uhr - <a href=\"".$planfolder.$file3."\">".$file3."</a><br />\r\n"
27.
28.
... 
29.
?>
Mitglied: 48507
23.12.2011 um 10:58 Uhr
Warum sortierst du nicht in der SQL-Abfrage vor?

*edit* Habe den Quelltext falsch interpretiert, Sorry.
Bitte warten ..
Mitglied: 104128
23.12.2011 um 11:37 Uhr
Hab gesehen, hast editiert ;)

Aber für Alle:
Aus der MySQL werden nur die Daten der Filiale geholt - die Kennung, die der Dateiname enthält (z. B. RE130).
Bitte warten ..
Mitglied: msr972
23.12.2011 um 12:58 Uhr
Dir auch keinen guten Tag,

Weil asort nach dem Value und nicht nach dem Index sortiert.

Und tschüss
Bitte warten ..
Mitglied: 104128
23.12.2011 um 13:09 Uhr
Hi!

Vielen Dank - das hört sich ja schonmal vielversprechend an.
Gibst du mir denn auch einen Tipp, welche Funktion dafür dann die richtige wäre?

Ich habe nämlich bereits mit usort etc. rumprobiert - komme aber auch da nicht auf das gewünschte Ergebnis.

Lg, Marc
Bitte warten ..
Mitglied: msr972
23.12.2011 um 13:31 Uhr
Hi,

http://php.net/manual/de/function.ksort.php
Das ist dass, was Du suchst.


Grüße
Bitte warten ..
Mitglied: 104128
23.12.2011 um 13:46 Uhr
Hi msr972!

Super. Ich danke dir! Funktioniert!

Jetzt ein Schönheits-Makel^^ Er sortiert ja nun nach Datum bei den jeweiligen Filialen. Nun habe ich folgende Ausgabe:

30.11.2011 - 10:45 Uhr - ....pdf
07.12.2011 - 16:41 Uhr - ....pdf
12.12.2011 - 10:42 Uhr - ....pdf

Er sortiert nun nach Datum, allerdings das Älteste oben, das Neuste unten.
Ich hab heut hier so einen Stress, dass ich gerade nicht darauf komme, wie man die Funktion "umdreht". Kannst du mir dabei auch helfen?
Ich danke im voraus!

Lg, Marc
Bitte warten ..
Mitglied: 104128
23.12.2011 um 15:55 Uhr
msr972...du bist mein Held! Ich danke dir - schnell und umkomplizierte Hilfe

Lg, Marc
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

SAN, NAS, DAS
CLI Cable HP 2012fc sc modular smart array oder serielles Kabel (5)

Frage von Dominik-EUNES zum Thema SAN, NAS, DAS ...

Server-Hardware
Hp smart array e200i accu austausch (8)

Frage von hansleo zum Thema Server-Hardware ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Linux
gelöst Boot failed: not a bootable disk (10)

Frage von Fleckmen zum Thema Linux ...

Multimedia & Zubehör
gelöst Iphone 6 prob (8)

Frage von jensgebken zum Thema Multimedia & Zubehör ...

Windows 7
gelöst Windows 7 Umzug zum neuen PC (SATA-Problem) (7)

Frage von MaxMoritz6 zum Thema Windows 7 ...