Php ähnliche artikel anzeigen
Ich habe ein Tabelle in der ganz normal Tags mit einer ID versehen werden. Des Weiteren gibt es eine zweite Tabelle in der die Tags mit Artikeln verbunden werden. Wie kann ich z. B. die 5 ähnlichsten Artikel an Hand der Tags anzeigen lassen - mit PHP?
4 Antworten zur Frage
Videos zum Thema
YouTube Videos
Php - ähnliche Artikel anzeigen
Muss es PHP sein, lass doch mysql auch mal was tun
Beispiel: Tabelle art , Tabelle tag_art
SELECT count , a.artid, b.title
FROM `tag_art` a
JOIN art b ON a.artid = b.id
WHERE a.tagid
IN
AND a.artid!= 1
GROUP BY a.artid
ORDER BY count DESC
LIMIT 5
Statt der 1 hinter artid muss da natürlich immer die ID des aktuellen Artikels hin, die count()-Spalte im Ergebnis ist die Anzahl der Übereinstimmenden Tags.
Das Ganze geht mit sehr alten mySQL Versionen nicht, da gibts kein Subselect, dann müsstest du das innere Select erst in php ausführen, da eine Liste der vorhandenen TagIds draus bauen, so das es so was wie
SELECT count , a.artid, b.title
FROM `tag_art` a
JOIN art b ON a.artid = b.id
WHERE a.tagid
IN
AND a.artid!=1
GROUP BY a.artid
ORDER BY count DESC
LIMIT 5
gibt
Ahh
Aber wie mache ich denn am besten die Ausgabe, also von Titel und der Artikel ID? Mit mysql_query, while, mysql_fetch_row.?
Ja, klar, wie mit jeder anderen Abfrage halt auch:
$res = mysql_query("SELECT count , a.artid, b.title
FROM `tag_art` a
JOIN art b ON a.artid = b.id
WHERE a.tagid
IN
AND a.artid!= $akt_artikel_id
GROUP BY a.artid
ORDER BY count DESC
LIMIT 5")
echo "Id: $data Titel: $data
";
}
.oder so halt
akt_artikel_id sollte dann selbige enthalten
Ja diesmal habe ich aufgepasst und auf $akt_artikel_id geachtet
noch einmal und vielleicht willst du/kannst du noch einmal helfen:
-überprüfen ob ein URL schon in der DB ist
-Backup von einer Datenbank