У меня есть это mysql
запрос:
$Nusers = mysql_query("SELECT user_id FROM dotp_user_task_type WHERE user_task_types_id = '$select1'");
$row = mysql_fetch_array($result);
Это берет все идентификаторы пользователей, у которых есть задача с определенным идентификатором. Итак, теперь мне нужно взять их имя и фамилию, но я не знаю, как использовать ГДЕ, когда $ row это массив с числами.
$Nusers = mysql_query("SELECT CONCAT(contact_first_name, ' ', contact_last_name) FROM dotp_user_contacts WHERE user_id = '$row'");
Помогите, пожалуйста………….
Попробуй это..
С помощью IN
искать значение массива в MySQL
$datauserid=array();
$Nusers = mysql_query("SELECT user_id FROM dotp_user_task_type WHERE user_task_types_id = '$select1'");
while($row = mysql_fetch_array($Nusers))
{
$datauserid[]=$row['user_id'];
}
$userid=implode(",",$datauserid);
$Nusers = mysql_query("SELECT CONCAT(contact_first_name, ' ', contact_last_name) FROM dotp_user_contacts WHERE user_id IN ($userid)");
Почему бы вам не объединить оба запроса, как
SELECT CONCAT(contact_first_name, ' ', contact_last_name) as fullname
FROM dotp_user_contacts
WHERE user_id IN ( SELECT distinct user_id FROM dotp_user_task_type
WHERE user_task_types_id = '$select1' );
(ИЛИ) Используя простой JOIN
лайк
SELECT CONCAT(duc.contact_first_name, ' ', duc.contact_last_name) as fullname
FROM dotp_user_contacts duc
JOIN dotp_user_task_type dtt ON duc.user_id = dtt.user_id
WHERE dtt.user_task_types_id = '$select1';
использование IN
—
" ....WHERE user_id IN (" .implode(",", $row). ")"