La segunda consulta debe usar $thelist
no $row
, y debería estar fuera del while
círculo. El foreach
loop no es necesario cuando se procesa una sola fila. Puede acceder al nombre en $row
con un simple $row[0]
. Algo como esto (no probado):
$query1 = "SELECT name FROM clients WHERE sector = '$sectorlink'";
$clientresult = mysql_query($query1, $connection) or trigger_error("SQL", E_USER_ERROR);
while($row = mysql_fetch_array($clientresult)){
$temp[] = '"'.$row[0].'"';
}
$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);
Precaución: Tenga en cuenta que su código es muy vulnerable a ataques de inyección SQL . Está bien para pruebas o desarrollo interno, pero si este código se ejecutará en el sitio web de Fort Knox, querrá arreglarlo un poco. Sólo un FYI. :-)