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, 3850 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: sputnik
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 ...

VB for Applications
Excel VBA Sortierung von Daten (5)

Frage von easy4breezy zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...