Avatar billede abetzer Nybegynder
07. februar 2008 - 20:05 Der er 10 kommentarer og
1 løsning

Find "Lignende sider"

Hey eksperter,

Jeg søger et script til mit nyheds system, som gør det muligt at vise ligende sider, altså sider som handler om det samme.

Dette havde jeg tænkt mig skulle foregå igennem en tabel hvor jeg indsætter tags.

Kunne eks. være: Eksperten, PHP

Og de sider som havde de samme tags (adskilt med komme) vil blive vist.

Har prøvet med WHERE tags LIKE '%$vis[tags]%', men det virker ikke optimalt.

http://tv2sport.dk/node/3639 som her med "Læs også: Pato og Kaka ude mod Irland"

Jeg kraver ikke at i skal lave det til mig, men nermere sende mig på rette kurs med hvordan man gør.

på forhånd tak.
Avatar billede jakobdo Ekspert
07. februar 2008 - 21:06 #1
Du må ikke lave tags som komma-separaret liste.
Du bør lave en tabel med tags.
En tabel som kobler nyheder og tags sammen (kaldet en mange til mange tabel)
Avatar billede abetzer Nybegynder
07. februar 2008 - 21:38 #2
Har prøvet med denne kode:

**********************************

$tags  = spliti (" ", $vis[tags]);
$items = count($tags);

for ($x = 0; $x < $items; $x++){

$tag == $tags[$x]; 

$find = mysql_query("SELECT * FROM news WHERE tags LIKE '%$tags[$x]%'");
while($vis = mysql_fetch_array($find)){

echo "
<div style=\"margin-bottom: 2px;\">";
echo "<a href=\"?q=news/view&id=$vis[id]\">$vis[date] - $vis[title]</a>";
echo "</div>";

}

}

*******************

Men så gentager den bare nyheden, det antal gange som count($tags) tæller.

Nogen smart løsning på dette?
Avatar billede abetzer Nybegynder
07. februar 2008 - 21:40 #3
$tag == $tags[$x]; er self blevet rettet til $tag = $tags[$x];
Avatar billede jakobdo Ekspert
07. februar 2008 - 21:49 #4
Min plan ville være at lave det på følgende måde:

INDSÆT NYHEDEN I NYHEDS TABELLEN (uden tags)
GEM ID FRA NYHEDEN SOM NETOP ER INDSAT
INDSÆT ALLE TAGS I TAGS TABELLEN
FIND ID'ER PÅ ALLE TAGS
INDSÆT EN RÆKKE FOR HVERT TAG OG ID FRA NYHEDEN I TABELLEN TAG_NYHED
Avatar billede coderdk Praktikant
08. februar 2008 - 00:28 #5
INDSÆT ALLE TAGS I TAGS TABELLEN -- SOM IKKE ALLEREDE FINDES!

? ;)
Avatar billede jakobdo Ekspert
08. februar 2008 - 05:59 #6
Jaja coderdk! :o)
Det lille trick kan laves ved at lade TAGS være UNIQUE i tabellen.
Avatar billede abetzer Nybegynder
09. februar 2008 - 12:32 #7
Det største problem er det det skal foregå automatisk, alt efter hvor mange tags der bliver tilføjet.
Avatar billede jakobdo Ekspert
09. februar 2008 - 17:32 #8
Det kan du jo netop også godt kode dig ud af.
Men en eller anden skal jo angive tags.
Avatar billede abetzer Nybegynder
09. februar 2008 - 23:47 #9
Yep har nu fundet ud af det :P tak for hjælpen.

smid du bare et svar.
Avatar billede jakobdo Ekspert
10. februar 2008 - 07:10 #10
Svar!
Avatar billede jakobdo Ekspert
10. februar 2008 - 17:08 #11
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester