Solved

BLog tags

Posted on 2012-12-20
4
192 Views
Last Modified: 2013-01-10
Hi i am making blog script for one website and i get a problem with making tags feature.
I try to make this kind of sql query
Select date,tag as tags, author, name, full_text, keywords, description, url, blog.id from blog RIGHT JOIN tags ON tags.blog = blog.id where ".$where." date <= DATE(NOW()) and `show` = '1' limit ".$page.",".$limit."

Open in new window


But if i have 2 tag in one article it make clone article and show it twice. So if it any way to group all tags using for example ",". Or is any way to do it better.
0
Comment
Question by:umaxim
  • 2
4 Comments
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
Comment Utility
I am not very versed in php.  However, what you want to do is keep the tags in some delimited form such as a comma and your full record will look like

date = 1/1/2000
tags = abc,123,zxy
author=mr bill

Then in your php script  you can turn the tags field to an array and break it out with explode.
http://php.net/manual/en/function.explode.php

$tags = tags;
var_dump( explode( ',', $tags ) );

result

(
    [0] => string(5) "abc"
    [1] => string(5) "123"
    [2] => string(5) "xyz"
)

This is at least what I do in vb. I hope it translates.  I am trying to learn php too.
0
 
LVL 1

Author Comment

by:umaxim
Comment Utility
I do not need to brake it on explode. I need to join them in mysql query so when i make query it give me all my blogs and all my tags with out making number of tags copy of blog.
0
 
LVL 52

Accepted Solution

by:
Scott Fell,  EE MVE earned 500 total points
Comment Utility
I'm sorry, I think I see.  You want to end up with a list of unduplicated blog tags that have been used at least once.    If that is the case you can use.


Select tag as tags from blog RIGHT JOIN tags ON tags.blog = blog.id where ".$where." date <= DATE(NOW()) and `show` = '1' limit ".$page.",".$limit. GroupBy tag"

Again, I am more versed in ms but I think this translates similarly.
0
 
LVL 108

Expert Comment

by:Ray Paseur
Comment Utility
You might want to consider "normalization" of the tags into a separate table.  If you're not sure you understand what "normalization" means, make a Google search for "Should I Normalize My Database" and read the very interesting design ideas -- both pro and con -- about this subject.  

Armed with that information your query may be able to use GROUP BY to limit the size of the results set.
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

If you have heard of RFC822 date formats, they can be quite a challenge in SQL Server. RFC822 is an Internet standard format for email message headers, including all dates within those headers. The RFC822 protocols are available in detail at:   ht…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now