Foros del Web » Programando para Internet » PHP »

Como Filtrar por switch un query que concatenado?

Estas en el tema de Como Filtrar por switch un query que concatenado? en el foro de PHP en Foros del Web. Buenos dias!! Necesito ayuda... Tengo que filtrar varias opciones pero esta estan concatenadas por query y me filtran todos menos la concatenadas, ya q estas ...
  #1 (permalink)  
Antiguo 24/01/2012, 08:06
 
Fecha de Ingreso: diciembre-2011
Ubicación: Ccs
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta Como Filtrar por switch un query que concatenado?

Buenos dias!!
Necesito ayuda... Tengo que filtrar varias opciones pero esta estan concatenadas por query y me filtran todos menos la concatenadas, ya q estas les coloco solamente el alias.

Aqui va el Query y codigo que lo acompaña:

....

SELECT DISTINCT
A.SLOT_EQP, B.PORT_TIPO, B.PORT_STATUS, C.SERV_ORDEN, C.SERV_ENLACE, D.CTRAL_NAME, E.PROY_NOMBRE, F.CLI_NOMBRE,
CONCAT(A.SLOT_EQP,'/', B.PORT_EQP) AS SLOT_PORT,
CONCAT(B.PORT_PISO,'/', B.PORT_SALA,'/', B.PORT_FILA,'/',
B.PORT_RACK,'/',B.PORT_SUBRACK,'/', B.PORT_POS) AS POS_DDF

FROM ngn_slot A, ngn_ports B, ngn_servicios C, ngn_centrales D, ngn_proyectos E, ngn_cliente F

WHERE A.SLOT_EQUI_COD ='".$_POST['CONSUL_SERV2']."'
AND B.PORT_SLOT_CODIGO=A.SLOT_CODIGO
AND C.SERV_PORT_COD=B.PORT_CODIGO
AND D.CTRAL_CODIGO=C.SERV_CX_CENTRAL
AND E.PROY_CODIGO=C.SERV_PROY_COD
AND F.CLI_CODIGO=C.SERV_CLI_COD



$filtros=$obj->rows();
if($obj->numRows()>0){
$i1=0; $i2=0; $i3=0; $i4=0; $i5=0; $i6=0; $i7=0; $i8=0; $i9=0; $i10=0;
$eqps=array(); $ports=array(); $tipos=array(); $ddfs=array(); $status=array(); $ordenes=array(); $enlaces=array(); $centrales=array(); $proyectos=array(); $clientes=array();
foreach($filtros as $filtro){
if(in_array($filtro['SLOT_EQP'], $eqps)){}else{ $eqps[$i1]=$filtro['SLOT_EQP']; $i1++; }
if(in_array($filtro['SLOT_PORT'], $ports)){}else{ $ports[$i2]=$filtro['SLOT_PORT']; $i2++; }
if(in_array($filtro['PORT_TIPO'], $tipos)){}else{ $tipos[$i3]=$filtro['PORT_TIPO']; $i3++; }
if(in_array($filtro['POS_DDF'], $ddfs)){}else{ $ddfs[$i4]=$filtro['POS_DDF']; $i4++; }
if(in_array($filtro['PORT_STATUS'], $status)){}else{ $status[$i5]=$filtro['PORT_STATUS']; $i5++; }
if(in_array($filtro['SERV_ORDEN'], $ordenes)){}else{ $ordenes[$i6]=$filtro['SERV_ORDEN']; $i6++; }
if(in_array($filtro['SERV_ENLACE'], $enlaces)){}else{ $enlaces[$i7]=$filtro['SERV_ENLACE']; $i7++; }
if(in_array($filtro['CTRAL_NAME'], $centrales)){}else{ $centrales[$i8]=$filtro['CTRAL_NAME']; $i8++; }
if(in_array($filtro['PROY_NOMBRE'], $proyectos)){}else{ $proyectos[$i9]=$filtro['PROY_NOMBRE']; $i9++; }
if(in_array($filtro['CLI_NOMBRE'], $clientes)){}else{ $clientes[$i10]=$filtro['CLI_NOMBRE']; $i10++; }
}
$i1=0; $i2=0; $i3=0; $i4=0; $i5=0; $i6=0; $i7=0; $i8=0; $i9=0; $i10=0;
foreach($eqps as $eqp){
echo '
window.ftitulo1['.$i1.']="'.$eqp.'";
';
$i1++;
}
foreach($ports as $port){
echo '
window.ftitulo2['.$i2.']="'.$port.'";
';
$i2++;
}
foreach($tipos as $tipo){
echo '
window.ftitulo3['.$i3.']="'.$tipo.'";
';
$i3++;
}
foreach($ddfs as $ddf){
echo '
window.ftitulo4['.$i4.']="'.$ddf.'";
';
$i4++;
}
foreach($status as $statu){
echo '
window.ftitulo5['.$i5.']="'.$statu.'";
';
$i5++;
}
foreach($ordenes as $orden){
echo '
window.ftitulo6['.$i6.']="'.$orden.'";
';
$i6++;
}
foreach($enlaces as $enlace){
echo '
window.ftitulo7['.$i7.']="'.$enlace.'";
';
$i7++;
}
foreach($centrales as $central){
echo '
window.ftitulo8['.$i8.']="'.$central.'";
';
$i8++;
}
foreach($proyectos as $proyecto){
echo '
window.ftitulo9['.$i9.']="'.$proyecto.'";
';
$i9++;
}
foreach($clientes as $cliente){
echo '
window.ftitulo0['.$i10.']="'.$cliente.'";
';
$i10++;
}
}else{
echo 'alert("Sin resultados."); $("#resultadosfiltrarServ").html(""); ';
}
$obj->free();
?>

.....
.....


switch($_POST['filtro']){
case '2': $filtro=" AND f.SLOT_EQP='".$_POST['opciones']."'"; break;
case '3': $filtro=" AND SLOT_PORT='".$_POST['opciones']."'" break;
case '4': $filtro=" AND a.PORT_TIPO='".$_POST['opciones']."'"; break;
case '5': $filtro=" AND POS_DDF='".$_POST['opciones']."'"; break;
case '6': $filtro=" AND a.PORT_STATUS='".$_POST['opciones']."'"; break;
case '7': $filtro=" AND b.SERV_ORDEN='".$_POST['opciones']."'"; break;
case '8': $filtro=" AND b.SERV_ENLACE='".$_POST['opciones']."'"; break;
case '9': $filtro=" AND c.CTRAL_NAME='".$_POST['opciones']."'"; break;
case '10': $filtro=" AND e.PROY_NOMBRE='".$_POST['opciones']."'"; break;
case '11': $filtro=" AND d.CLI_NOMBRE='".$_POST['opciones']."'"; break;
default: $filtro=""; break;
}


NOTA: EL ALIAS SLOT_PORT y POS_DDF NO SON FILTRADOS EN LA TABLA.
SI ALGUIEN ME PUEDE AYUDAR. POR FAVOR!! GRACIAS!!
NOTA: SERÁ QUE TENGO QUE DESCONCATENARLOS Y SI ES ASI COMO SE HACE PARA MANTENERLO EN EL SWITCH Y ME MUESTRE LO QUE NECESITO.

Etiquetas: filtrar, html, query, switch, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:04.