Hallo!
Ich brauch mal Eure Hilfe...
Bin totale Anfängerin und versteh noch nicht so viel von PHP...
Folgendes Problem:
Ich habe Ergebnisse einer Suche, die ich sortieren möchte.
Die Ergebnismenge ist eine Sammlung von Objekten (Literaturtitel)
Jedes Objekt besitzt viele Eigenschaften, nach denen ich sortieren möchte.
Die Sortierung muss auf PHP-Ebene stattfinden, nicht auf SQL-Ebene.
Ich wollte das eigentlich mit usort() lösen, doch bei leeren Einträgen werden die
Objekte dazwischen sortiert und nicht ans Ende. Schätze, mit der Vergleichsfunktion stimmt etwas nicht...
Ein Beispiel:
Meine Titel besitzen u.a. ein Erscheinungsjahr, aber eben nicht alle...
Der Code für die Vergleichsfunktion:
Der Aufruf:
... wobei ich den Code auch nicht verstehe und ihn aus dem Internet umgebastelt habe... ;-)
doch ohne Leereinträge funktioniert's schon.
Alles seltsam.
Habt Ihr eine Idee?
Liebe Grüße
Danni
Ich brauch mal Eure Hilfe...
Bin totale Anfängerin und versteh noch nicht so viel von PHP...
Folgendes Problem:
Ich habe Ergebnisse einer Suche, die ich sortieren möchte.
Die Ergebnismenge ist eine Sammlung von Objekten (Literaturtitel)
Jedes Objekt besitzt viele Eigenschaften, nach denen ich sortieren möchte.
Die Sortierung muss auf PHP-Ebene stattfinden, nicht auf SQL-Ebene.
Ich wollte das eigentlich mit usort() lösen, doch bei leeren Einträgen werden die
Objekte dazwischen sortiert und nicht ans Ende. Schätze, mit der Vergleichsfunktion stimmt etwas nicht...
Ein Beispiel:
Meine Titel besitzen u.a. ein Erscheinungsjahr, aber eben nicht alle...
Der Code für die Vergleichsfunktion:
PHP-Code:
function vergleicheErscheinungsjahrAsc($titel1, $titel2)
{
if ($titel1->erscheinungsjahr == $titel2->erscheinungsjahr)
{
return 0;
}
else if ($titel1->erscheinungsjahr == 0)
{
return 1;
}
else if ($titel1->erscheinungsjahr < $titel2->erscheinungsjahr)
{
return -1;
}
else
{
return 1;
}
}
PHP-Code:
$sortierung = "vergleicheErscheinungsjahrAsc"
usort($titel, $sortierung);
... wobei ich den Code auch nicht verstehe und ihn aus dem Internet umgebastelt habe... ;-)
doch ohne Leereinträge funktioniert's schon.
Alles seltsam.
Habt Ihr eine Idee?
Liebe Grüße
Danni
. So hatte ich's davor schon mal, aber dann werden ja die 0er Einträge an den Anfang gestellt und das möchte ich nicht. Wie bekomme ich die leeren Einträge nach hinten?
... Mir scheint, mein ganzes Programm ist in sich nicht stimmig. Kann es leider nicht posten, weiss ja nicht, an welcher Stelle das Problem auftritt... Und ich habe VIELE Dateien. Gut, dann kann ich die Sortierfunktion an dieser Stelle für die Fehlfunktion schon mal ausschliessen... ist ja auch was.
Kommentar