Пара вещей. Сначала у вас там ненужный цикл. Попробуйте:
while (list($name) = mysql_fetch_row($clientresult)) {
$temp[] = $name;
}
Для создания вашего временного массива.
Во-вторых, части предложения IN
являются строками, поэтому при развертывании вам нужно заключать каждое значение в кавычки:
$thelist = "'". implode("','", $temp) . "'";
Наконец, в своем запросе вы передаете $row
предложению IN
, вы должны передать $thelist
:
$query = "SELECT count(*) FROM studies WHERE client IN ($thelist) ORDER BY date desc";
$result = mysql_query($query, $connection) or trigger_error("SQL", E_USER_ERROR);
Так что в целом:
$query1 = "SELECT name FROM clients WHERE sector = '$sectorlink'";
$clientresult = mysql_query($query1, $connection) or trigger_error("SQL", E_USER_ERROR);
while (list($name) = mysql_fetch_row($clientresult)) {
$temp[] = $name;
}
$thelist = "'". implode("','", $temp) . "'";
$query = "SELECT count(*) FROM studies WHERE client IN ($thelist) ORDER BY date desc";
$result = mysql_query($query, $connection) or trigger_error("SQL", E_USER_ERROR);