Задать вопрос
@alex88a

Сохранить числа из базы через запятую в переменную?

Добрый день.
Пытаюсь сделать запрос:
$tov = mysql_query("SELECT product_id FROM oc_product_to_category WHERE category_id = $cat_id", $link);
	 while ($result = mysql_fetch_array($tov)) {
		
		$tov2 = $result['product_id']. ", ";
	 }
	$sel = mysql_query("SELECT `seller_id` FROM `oc_ms_product` WHERE product_id = $tov2", $link);
	 while ($resul = mysql_fetch_array($sel)) {
        echo $resul['seller_id']<br>";
	 }

$tov2 во втором запросе выводит только одно число. а как сделать так, что бы брало из первого запроса всех числа = $cat_id и вставляло их во второй запрос в $tov2?
после первого while выводил echo $tov2 и выводит правильно, все числа.
Заранее спасибо за помощь
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
udjin123
@udjin123
PHP, Golang, React
$tov = mysql_query("SELECT product_id FROM oc_product_to_category WHERE category_id = $cat_id", $link);
while ($result = mysql_fetch_array($tov)) {
	$productId[] = $result['product_id'];
}

$searchIn = implode(',', $productId);

$sel = mysql_query("SELECT `seller_id` FROM `oc_ms_product` WHERE product_id IN ($searchIn)" , $link);
while ($resul = mysql_fetch_array($sel)) {
	echo $resul['seller_id'] . '<br>';
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
beliyadm
@beliyadm
because open source matters
SELECT GROUP_CONCAT(field) FROM table
получите одну строку с разделителем запятой и не нужен цикл
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы