Hallo
vielleicht kannst du mir nochmals kurz helfen, hab meine Funktion um ein ORDER BY erweitert
Um genau zu sein, hast du den Query um das „ORDER BY“ erweitert. Dort gehört es ja auch hin.
function referenzen($mysqli, $sort) {
$stmt = $mysqli->prepare("SELECT ref_id, ref_bild, ref_alt, ref_status FROM web_referenzen WHERE ref_status = '1' ORDER by ref_bild=? LIMIT 6");
$stmt->bind_param("s", $sort);
>
> im Aufruf übergebe ich den Wert so:
>
> ~~~php
> referenzen($mysqli, "ASC");
>
Vorbildlich [1]. …
leider wird es in meiner Funktion bzw. in der Ausgabe nicht beachtet.
… Allerdings machst du nichts damit. Deine Notation der ORDER-BY-Klausel sieht auch etwas komisch aus. Dein Query (aufgedröselt):
-- …
ORDER by ref_bild=? -- das ist komisch und ohne Benutzung der Reihenfolge
-- …
So wird's:
-- …
ORDER by ref_bild ASC -- oder mit DESC
-- …
Jetzt musst du das nur noch in PHP übersetzen, weil $sort, worin ASC oder DESC steht, in den Query rein muss:
function referenzen($mysqli, $sort) {
$stmt = $mysqli->prepare("SELECT ref_id, ref_bild, ref_alt, ref_status FROM web_referenzen WHERE ref_status = '1' ORDER by ref_bild ". $sort ." LIMIT 6");
// Krimskrams
}
[1] Du kannst einer Funktion auch optionale Parameter übergeben. Die müssen in der Parameterliste hinten stehen. Wenn du also normalerweise mit DESC sortierst und nur ausnahmsweise mit ASC, kannst du DESC als Standardwert festlegen, der bei Bedarf beim Aufruf der Funktion explizit überschrieben werden müsste.
function referenzen($mysqli, $sort = "DESC") {
// Krimskrams
}
referenzen($mysqli) // sortiert mit DESC
referenzen($mysqli, "ASC") // sortiert mit ASC
Tschö, Auge
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
Veranstaltungsdatenbank Vdb 0.3