Codice PHP:
function caratteristiche5($tipo_ghiacciaio$forma_ghiacciaio$ordine$modo){
    
        
$qry "SELECT q.glacier_name AS nome_ghiacciaio, q.glacier_sub_name AS sub_name , q.glacier_code AS codice_ghiacciaio, q.glacier_sub_code AS sub_code, h.name_it AS tipo  i.name_it AS forma, a.char_year AS anno 
        
        FROM type_glacier a, form_glacier b, glacier_type h, glacier_form i, glaciers q 
        
        WHERE a.id_glacier_type=
$tipo_ghiacciaio AND b.id_glacier_form=$forma_ghiacciaio AND a.id_glacier = b.id_glacier AND a.char_year = b.char_year AND h.id_glacier_type= a.id_glacier_type AND i.id_glacier_form = b.id_glacier_form AND  q.id_glacier = a.id_glacier ORDER BY $ordine $modo";
        
$result pg_query($qry) or die ("Errore nella query"$qry "\n" pg_result_error());
        
        while (
$valori pg_fetch_assoc ($result)){
            
$totale[] = $valori;
            }
            return 
$totale;

    } 

il problema è che non capisco come rendere dinamico SELECT e FROM

per esempio se voglio cercare solo per tipo ghiacciaio la tabella form_glacier non la devo prendere e nemmeno i campi nella SELECT corrispondenti a form_glacier.

mentre per la where posso fare come mi ha detto satifal