Tu código PHP sin ofender esta pésimo, obtienes de $_POST['requerimientos'] un array que después lo unes en un string que después de nuevo vuelves a convertir de nuevo en un array igual al que arroja $_POST['requerimientos'] solo para meter todo en un for, horrible!, pero bueno, el código deberia ser algo así...
Código PHP:
Ver original<?php
//$requerimientos = $_POST['requerimientos'];
$requerimientos = array(1,2,3,4);
$sql = 'select id,codigo,fecha_fin,fecha_inicio,sup_asignado,asig nado,completado from tareas where ';
$addSql = false;
foreach($requerimientos as $item) {
if ($addSql) {
$sql .= ' OR ';
}
switch($item) {
case 1:
$sql .= 'completado!=\'0000-00-00 00:00:00\' 1 ';
$addSql = true;
break;
case 2:
$sql .= 'CURDATE()<fecha_fin AND completado LIKE \'0000-00-00 00:00:00\' 2 ';
$addSql = true;
break;
case 3:
$sql .= 'CURDATE()>fecha_fin AND completado LIKE \'0000-00-00 00:00:00\' AND fecha_fin!=\'0000-00-00\' 3 ';
$addSql = true;
break;
case 4:
$sql .= 'CURDATE()<fecha_fin AND completado LIKE \'0000-00-00 00:00:00\' AND fecha_fin!=\'0000-00-00\' 4 ';
$addSql = true;
break;
}
}
echo $sql;
Nota: el 1, 2, etc al final de los SQL era para "debuguear" el código, tienes que borrarlo para que funcione correctamente >.<