How to only display a variable in PHP inside a MySQL query when it has a content or when a condition is true?
You must do some work in PHP.  You have a set of numbers: find the non empty ones, build a string, and put the string into the IN() clause.  Sample code:

$a = array();
foreach (array($mon, $tues, ...) as $val)
{
    if (! empty($val)) $a[] = $val;   // add the useful values to the array
}
$str = implode(',', $a);       // turn the array into a comma-list
$sql = "SELECT ... IN($str)";  // interpolate into the query


What I failed to do in that code snippet is to validate the input -- a hacker could destroy your system via "SQL Injection":

if (! empty($val)) $a[] = "'" . addslashes($val) . "'";