Improve company productivity with a Business Account.Sign Up

x
?
Solved

BLog tags

Posted on 2012-12-20
4
Medium Priority
?
205 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 55

Expert Comment

by:Scott Fell, EE MVE
ID: 38710521
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
ID: 38710530
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 55

Accepted Solution

by:
Scott Fell,  EE MVE earned 2000 total points
ID: 38710644
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 111

Expert Comment

by:Ray Paseur
ID: 38711523
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

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

It’s a season to be thankful, and we’re thankful for users like you who engage on site, solve technology problems, and network with others in the industry. What tech are we most thankful for? Keep reading.
The title says it all. Writing any type of PHP Application or API code that provides high throughput, while under a heavy load, seems to be an arcane art form (Black Magic). This article aims to provide some general guidelines for producing this typ…
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…
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…

608 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