La deuxième requête doit utiliser $thelist
pas $row
, et il devrait être en dehors du while
boucle. Le foreach
loop n'est pas nécessaire lors du traitement d'une seule ligne. Vous pouvez accéder au nom dans $row
avec un simple $row[0]
. Quelque chose comme ça (non testé) :
$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);
Attention : Veuillez noter que votre code est très vulnérable aux attaques par injection SQL . C'est bien pour les tests ou le développement interne, mais si ce code doit exécuter le site Web de Fort Knox, vous voudrez le réparer un peu. Juste un FYI. :-)