Sai quali parametri opzionali hai nella form che utilizza l'utente, giusto?
Allora fai così
Codice PHP:
$condizioni "costo='".$_POST['costo']."' AND "//non va dentro un if se sei sicura che questo c'è sempre
if ($_POST['garanzia'] != "") {
    
$condizioni .= " garanzia='".$_POST['garanzia']."' AND "//NB dentro gli if c'è .= non solo =
}
if (
$_POST['peso'] != "") {
    
$condizioni .= "peso='".$_POST['peso']."' AND ";
}
if (
$_POST['colore'] != "") {
    
$condizioni .= "colore='".$_POST['colore']."' AND ";
}
if (
$_POST['nazione'] != "") {
    
$condizioni .= "nazione='",$_POST['nazione']."' AND ";
}

$condizioni substr($condizioni0, -4); //toglie l'ultimo AND che non serve

//a questo punto
$sql "
SELECT nomeprodotto
FROM prodotti
WHERE "
.$condizioni