Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
Related content - PHP i MySQL

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
dxcoder



Joined: 29 Nov 2008
Posts: 10

PostPosted: 29.11.2008 21:22    Post subject: Related content - PHP i MySQL Add user to your forum ignore list Reply with quote

imam tablicu video sa poljima id, ime, opis, kategorija, path, izdvojeno, tagovi

tagovi su za svaku stavku zapisani u obliku: tag 1, tag 2, tag 3

isto tako imam i php file koji pomoću get metode (?id=x) uzme id i prikaže video, exploada tagove i prikaže svaki od tagova, ali to nije bitno

bitno je da bih sad ja u tom php fileu prikazao neki related content. Znači: učitam tagove od videa koji se trenutno prikazuje i pomoću njih odaberem related content te ga ispišem i prikažem u php-u.

kakav sql upit treba napraviti? Ja sam probao sa SELECT * FROM video WHERE tagovi LIKE '%$tag%'
$tag izgleda ovako = "tag 1, tag 2, tag 3"
ali to ne funkcionira jer je jedini rezultat video koji se trenutno prikazuje

jel se ikako može napraviti upit sličan ovom
"selektiraj sve iz tablice video gdje su tagovi $tag1 ili $tag2 ili $tag3"
ponavljam - za zapis tagova imam jedan stupac u tablici i u svakom redu u tablici - tagovi su zapisani ovako: tag 1, tag 2, tag 3...

pomozite u sastavljanju sql upita, pls...

i unaprijed hvala Smile
Back to top
View user's profile Send private message
dxcoder



Joined: 29 Nov 2008
Posts: 10

PostPosted: 29.11.2008 21:56    Post subject: Add user to your forum ignore list Reply with quote

ne trebate pomoći, evo rješenja:
SELECT * FROM video
WHERE tagovi LIKE '%$tag1%'
OR tagovi LIKE '%tag2%'
OR tagovi LIKE '%tag3%'

problem je bio samo što nisam znao formatirati sql upit kako treba Embarassed
Back to top
View user's profile Send private message
ghosap



Joined: 18 Sep 2003
Posts: 79

PostPosted: 30.11.2008 09:27    Post subject: Add user to your forum ignore list Reply with quote

Related content bi trebao imat barem jedan isti tag, a ne slični ?
Uglavnom pogledaj FIND_IN_SET funkciju LINK

_________________
. . . and when the balance is lost all that is left is the reckening . . .
Back to top
View user's profile Send private message
anorgan



Joined: 29 Nov 2008
Posts: 1

PostPosted: 01.12.2008 23:03    Post subject: Add user to your forum ignore list Reply with quote

Prvo: http://en.wikipedia.org/wiki/Relational_databases
Drugo:
Bolje je imati odvojenu tablicu gdje kazes:
Tag ID 1 pripada objektu ID 34,
Tag ID 2 pripada objektu ID 34,
...
Dakle tablica sa popisom tagova (tags):
Code:

+------------+------------+
|   tag_id   |    name    |
+------------+------------+
|       1    |  tag 1     |
|       2    |  tag 2     |
|       3    |  tag 3     |
+------------+------------+

Pa tablica sa relacijom tagova (tag_to_content)
Code:

+------------+------------+
|   tag_id   |     id     |
+------------+------------+
|       1    |         1  |
|       3    |         1  |
|      50    |         1  |
|     ...    |       ...  |
+------------+------------+

Sad kad znas da video id 1 ima related tagove id 1,3,50 možeš lakše naći sve videje koji imaju te tagove:
Code:

SELECT
    id
FROM
    tag_to_content
WHERE
    tag_id IN(1, 3, 50)

_________________
Donja rečenica je točna
Gornja rečenica je netočna
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group