Gracias Vallu.
Entiendo que quedaría:
Código PHP:
Ver original<?
$sql = "SELECT * FROM contactos where 1=1 ";
if($_GET["categoria"] != '')$sql .= " AND categoria LIKE '%".$_GET["cadena1"]."%';
if($_GET["ciudad"] != '')$sql .= " AND ciudad LIKE '%".$_GET["cadena2"]."%';
if($_GET["..."] != '')$sql .= " AND ... LIKE '%".$_GET["cadena3"]."%';
$sql .= " ORDER BY campo1";
?>
-----
Donde la tabla de la BD "contactos":
$sql = "SELECT * FROM contactos where 1=1 ";
Y cada una de los campos:
if($_GET["categoria"] != '')$sql .= " AND categoria LIKE '%".$_GET["cadena1"]."%';
...