Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/10/2014, 10:13
Avatar de JeMaGa
JeMaGa
 
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 12 años, 9 meses
Puntos: 4
Comparar for con foreach

Buenos Dias,

Necesito un favor no se como ya lo intente pero se me repiten 3 vesces el proceso, se que debe ser un error bobo pero no le podido encontrar

Tengo una tabla que me contiene servicios, y otra tabla que guarda un contrato con los servicios asociados, necesito comparar si la tabla que guarda los servicios asociados a un contrato guarda todos los principales.

Realizo una consulta para mostar los servicios principales, esto me devuelve un arreglo, y realizo otra consulta que busca segun el contrato todos los servicios principales asociados, puede que un contrato tengo los 3 principales o solo 1 o solo 2 esta consulta la recorro con un foreach y el arreglo con un for.

Si el servicio en la primera posición del arreglo es igual al primer servicio que regresa el foreach muestra detalle y si no muestra cara triste tengo que hacer este proceso para todos

agradezco toda a la ayuda prestada

Código PHP:
$cotizaciones = $idGrupoCotizacion->cotizaciones;// trae servicios asociados a un contrato
$consulta = Servicios::model()->findAll('Tipo = "1"'); //Consulta todos los servicios principales
                    for ($i = 0; $i < count($consulta); $i++) { //Recorre cada posición del arreglo
                        foreach ($cotizaciones as $cotizacion) {// Recorre lo que devuelve $cotizaciones

                            if ($consulta[$i]->ID == $detalleCotiza->Servicio) {// COmparo lo del for con lo el foreach
                                $cotizaciondetalle = $detalleCotiza->detalleCotizacion;
                                $this->renderPartial('detalleServ', array('servicio' => $detalleCotiza->Servicio, 'codigo' => $cotizacion->Codigo, 'cotizaciondetalle' => $cotizaciondetalle, 'detcotizacion' => $detalleCotiza, false, true));
                            } else {
                                ?>
                                <img src='../clienteweb/images/triste_grande.jpg' width='200' height='100'/>
                                <?php
                            
}
                        }
                    }
el problema es que se muestra varias veces, si encuentra un servicios lo muestra bien, pero si encuentra 3 muestra 2 else por cada servicio