Drugie zapytanie powinno używać $thelist
nie $row
, i powinien znajdować się poza while
pętla. foreach
pętla jest zbędna podczas przetwarzania pojedynczego wiersza. Możesz uzyskać dostęp do nazwy w $row
za pomocą prostego $row[0]
. Coś takiego (niesprawdzone):
$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);
Uwaga: Należy pamiętać, że Twój kod jest bardzo podatny na ataki SQL . Nadaje się do testowania lub wewnętrznego rozwoju, ale jeśli ten kod ma obsługiwać witrynę internetową Fort Knox, będziesz chciał go trochę naprawić. Tylko do Twojej wiadomości. :-)