Vi invio un po di codice per farvi capire cosa stò combinando

$XGIORNO = "$_POST[GIORNO]";
$XMESE = "$_POST[MESE]";
$XANNO = "$_POST[ANNO]";
$DATA = $XANNO."-".$XMESE."-".$XGIORNO;
$NUMGIORNO = date('w', mktime(0, 0, 0, $XMESE, $XGIORNO, $XANNO));

SELECT *,
TIME_FORMAT(ORARIO,'%H:%i') as XORARIO
FROM $tabella
where MEZZO like '%$TIPOMEZZO%'
and VETTORE like '%$TIPOVETTORE%'
and PARTENZA like '%$ORIGINE%'
and ARRIVO like '%$DESTINAZIONE%'
and LU = '$NUMGIORNO'
and MA = '$NUMGIORNO'
and ME = '$NUMGIORNO'
and GI = '$NUMGIORNO'
and VE = '$NUMGIORNO'
and SA = '$NUMGIORNO'
and DO = '$NUMGIORNO'
and INIZIO >= '$DATA'
and FINE <= '$DATA'
order by ORARIO

Un qualcosa del genere.
Grazie per eventuale aiuto