Nur ein Wort pro Datensatz ausgeben?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
ausgeben
auslese
code
date
datensatz
datum
http
komma
laufen
limit
liste
ordern
rand
realisieren
schleife
spalte
url
wort
zufall
-
Ich habe eine Tabelle für News.
In dieser gibt es die Spalte "Keywords" und von dieser will ich von jeden Datensatz (Maximal 10), genau ein Wort ausgeben lassen.
Ich will also nur ein Wort pro News.
Wie geht das?
Mein bisheriger Ansatz:
SELECT id, keywords, date FROM news WHERE lang = 'de' ORDER BY date DESC LIMIT 10
(In der Spalte "Keywords" sind mehrere mit Komma getrennte Wörter)
Beitrag zuletzt geändert: 18.7.2012 21:33:12 von webfreclan -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Falls der Wert den du ausgeben willst Zufällig sein soll, kannst die Werte der DB auslesen und dann zuweisen.
$liste = explode(",", $abfrage['tabellen_spalte']);
$liste_laenge = count($liste) - 1;
$zufall = rand(0, $liste_laenge);
$wort = $liste[$zufall];
Das kannst du durch ein while-Schleife laufen lassen und du hast die 10 Wörter. -
vctb schrieb:
Falls der Wert den du ausgeben willst Zufällig sein soll, kannst die Werte der DB auslesen und dann zuweisen.
$liste = explode(",", $abfrage['tabellen_spalte']);
$liste_laenge = count($liste) - 1;
$zufall = rand(0, $liste_laenge);
$wort = $liste[$zufall];
Das kannst du durch ein while-Schleife laufen lassen und du hast die 10 Wörter.
Nein, es soll nach dem Datum geordnet sein:
ORDER BY date DESC
-
Kann man auch direkt in MySQL mit der Funktion SUBSTRING_INDEX realisieren:
SELECT id, SUBSTRING_INDEX(keywords, ',', 1), date FROM news WHERE lang = 'de' ORDER BY date DESC LIMIT 10
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage