Ebenfalls nciht
Sortieren (n-Array)
Einklappen
X
-
Ebenfalls ncihtGutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
[color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Kommentar
-
PHP-Code:function getStructure($customerid, $folderid) {
global $db, $common, $customer;
$customerid = $customer->returnIntegerID($customerid);
$res = $db->query("SELECT `documentFolderID`, `documentFolderName`
FROM `documentFolder`
WHERE `documentFolderParent` = '".$folderid."'
AND `documentFolderCustomer` = '".$customerid."'");
$i = 0;
while($row = mysql_fetch_assoc($res)) {
$tmp[] = array("id" => $row["documentFolderID"], "type" => "folder", "name" => $row["documentFolderName"]);
}
$res = $db->query("SELECT `documentFileID`, `documentFileName`
FROM `documentFile`
WHERE `documentFileFolder` = '".$folderid."'
AND `documentFileCustomer` = '".$customerid."'");
while($row = mysql_fetch_assoc($res)) {
$tmp[] = array("id" => $row["documentFileID"], "type" => "file", "name" => $row["documentFileName"]);
}
$sortTmp = array();
foreach($tmp as $key => $value) {
$sortTmp[$key] = $value["name"];
}
usort($sortTmp, "cmp");
array_multisort($sortTmp, SORT_ASC, SORT_STRING, $tmp);
return $tmp;
}
Kommentar
-
Die Funktion cmp ist von TobiaZ vorhanden!Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
[color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Kommentar
-
imho ist aber $tmp dein ORIGINALES Array und nur dieses hat einen Subarray mit Key 'name' drin. Dein $sortTmp hat nur noch nummerische Indices und da brauchst du weder multisort noch usort. Da jedes Array Element in $sortTmp nur einen Wert hat kannst du auch gleich die "normalen" Sortierfkt verwenden.
Gruss
tobiGutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
[color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Kommentar
-
Original geschrieben von jahlives
imho ist aber $tmp dein ORIGINALES Array und nur dieses hat einen Subarray mit Key 'name' drin. Dein $sortTmp hat nur noch nummerische Indices und da brauchst du weder multisort noch usort. Da jedes Array Element in $sortTmp nur einen Wert hat kannst du auch gleich die "normalen" Sortierfkt verwenden.
Gruss
tobi
ich habe nun asort() auf das $sortTmp angewendet, und dann erscheinen die Ordner oben zuerst und dann die Dateien. Aber die Dateien sollen doch zwischen den Ordnern sein :S
Gruss
Henning
Kommentar
-
Code:array(5) { [0]=> string(9) "Dokumente" [1]=> string(13) "nokia_n95.jpg" [2]=> string(19) "nokia_n95_bild2.jpg" [3]=> string(24) "Vertragsbestaetigung.pdf" [4]=> string(8) "Verträge" }
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
[color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Kommentar
-
Mal versucht ?
PHP-Code:return $sortTmp;
Gruss
tobiGutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
[color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Kommentar
-
Kannst du bitte nochmal genauer dein Problem beschreiben, "Ebenfalls nciht" ist keine Fehlerbeschreibung. Du hast verschiedenen Vorschläge bekommen die dir helfen das Problem zu lösen. Wenn du nur rum rätst kann dir keine helfen.Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]
Kommentar
-
Ich habe das var_dump() direkt in der Funktion vor und nach dem Sort eingefügt
Gruss
tobiGutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
[color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Kommentar
Kommentar