|
|
|
|
$tag=array('поп', 'рок', 'джаз');
$res=mysql_query("SELECT title FROM music where tag IN ('.$tag.') ORDER by ` title` asc limit 5");
while ($str=mysql_fetch_array($res)) {
echo $str['title'];
}
| Что-то не работает. Как правильно, помогите подправить, пожалуйста! | |
|
|
|
|
|
|
|
для: Владимир22
(14.02.2012 в 15:22)
| |
$res=mysql_query("SELECT title FROM music where tag IN ('.implode("','",$tag).') ORDER by ` title` asc limit 5");
|
| |
|
|
|
|
|
|
|
для: Lotanaen
(14.02.2012 в 15:30)
| | Спасибо. Так выводит, где может быть tag ТОЧНО: или 'поп' или 'рок' или 'джаз'.
А если в базе есть описания, где tag, например, "поп,кантри,опера", или "рок, классика, джаз, эстрада" и т.п. (разные комбинации).
И вот как вывести, типа
$tag=array('поп', 'рок', 'джаз');
...where tag LIKE ('.$tag.')
|
- т.е. всё, где в tag может встречаться любое из слов масива - поп, рок, джаз.
??? | |
|
|
|
|
|
|
|
для: Владимир22
(16.02.2012 в 03:18)
| | у вас неправильно организована база
значений через запятую в поле быть не должно | |
|
|
|
|
|
|
|
для: Владимир22
(16.02.2012 в 03:18)
| | ну если структуру базы уже не переделаешь, то можно и через LIKE примерно так:
$res=mysql_query("SELECT title FROM music where tag LIKE '%".implode("%' or tag LIKE '%",$tag)."%' ORDER by ` title` asc limit 5");
|
можно и через регулярку сделать REGEXP | |
|
|
|
|
|
|
|
для: Lotanaen
(16.02.2012 в 10:41)
| | Lotanaen , спа-си-бо огромное! Всё наконец-то получилось! | |
|
|
|