MySQL PHP select only non-duplicate entries in a field

I have this SQL tableName:

dataId | projectId | keywords -------|-----------|-------- 1      |     1     | keyword 1, keyword 2, keyword 3, keyword 4, keyword 1 2      |     2     | keyword 5, keyword 6, keyword 7 

Is it possible to SELECT dataId, projectId, keywords FROM tableName and echo non-duplicates in dataId 1, project 1 field?

The ideal output would be:

keyword 1, keyword 2, keyword 3, keyword 4

Not

keyword 1, keyword 2, keyword 3, keyword 4, keyword 1

Add Comment
1 Answer(s)

To de-duplicate a comma-separated list of string, you can do this:

$keywords = 'keyword 1, keyword 2, keyword 3, keyword 4, keyword 1'; $dedup = implode(', ', array_unique(array_map('trim', explode(',', $keywords)))); echo $dedup; 

Result:

keyword 1, keyword 2, keyword 3, keyword 4 

You should probably do this before inserting to your database for performance. But it’ll also work afterwards.

Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.