Не могу правильно сделать цикл

Статус
В этой теме нельзя размещать новые ответы.

phillip

Полезный
Регистрация
4 Сен 2007
Сообщения
411
Реакции
15
Мне надо в SQL запрос добавить строку по типу:
$query = "SELECT * FROM `sites` WHERE `sitecategory` IN ('cars', 'finance', 'farma')";
Но карс, финанс, и фарма- у меня значения массива. И мне их надо из массива брать и подставлять в запрос как показано выше. Делаю так:

Код:
$query = "SELECT * FROM `sites` WHERE `sitecategory` IN (";
foreach ($categories as $category) {
$query .= "'".$category."',";
}
$query .= ")";
В итоге у меня получается
$query = "SELECT * FROM `sites` WHERE `sitecategory` IN ('cars', 'finance', 'farma',)";
Как видно, в запросе внутри скобки стоит лишняя запятая. Она добавилась через цикл вместе с названием категории. Никак не могу сообразить как от этой запятой избавиться. Как составить цикл таким образом, чтобы в последний раз он не ставил запятую?
 
PHP:
$query = "SELECT * FROM `sites` WHERE `sitecategory` IN (" . implode(',', $categories) . ")";
И никаких циклов.
 
ыыы круто!!! :idea:
НО! получается в итоге
Код:
`sitecategory` IN (cars, finance, farma)
а должно быть
Код:
`sitecategory` IN ('cars', 'finance', 'farma')
подскажите, пожалуйста, как доработать
 
Блин, вечно я забываю про кавычки.
PHP:
$query = "SELECT * FROM `sites` WHERE `sitecategory` IN ('" . implode("', '", $categories) . "')";
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху