こんにちは、配列を受け取る関数があり、配列内の各要素に対してランダムな結果 ID を選択するクエリを実行しますが、重複を避けたいのですが、結果の ID が重複しているかどうかを確認してクエリを再度実行するにはどうすればよいですか? ループ内で要素をスキップしていない間ずっと?ここに私の試みがあります(注:$array_resultは7要素です)、各配列要素に対して個別にクエリを実行する必要があるため、個別の選択も機能しません
$queryn = "select taxonomic_units.tsn, hierarchy.hierarchy_string, hierarchy.TSN, taxonomic_units.rank_id from hierarchy left join taxonomic_units on hierarchy.TSN = taxonomic_units.tsn where taxonomic_units.rank_id = 220 and hierarchy.hierarchy_string LIKE '%$array_result[0]%'order by rand() limit 1";
$resultn = $dbn -> Execute($queryn);
$rown=$resultn->FetchRow();
$newspecies = $rown['tsn'];
$result_array[] = $newspecies;
for($i=1; $i<count($array_result);$i++){
$previous = implode(',', $result_array);
$queryn = "select taxonomic_units.tsn,
hierarchy.hierarchy_string,
hierarchy.TSN,
taxonomic_units.rank_id
from hierarchy
left join taxonomic_units
on hierarchy.TSN = taxonomic_units.tsn
where taxonomic_units.rank_id = 220
and hierarchy.hierarchy_string LIKE '%$array_result[$i]%'
and taxonomic_units.tsn not in ('$previous')
order by rand()
limit 1";
$resultn = $dbn -> Execute($queryn);
$rown=$resultn->FetchRow();
$newspecies = $rown['tsn'];
$result_array[] = $newspecies;
}