Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/05/2012, 10:35
benjaminvera
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problemas con mi switch y condicionante if ($avanceCA==1)

Muchas gracias por tu respuesta RabidFish.
Voy a tratar de explicarme mejor.

Tengo el siguiente ejemplo:
Aprobacion del viaje.
1.- Emision del Pliego de Juan Pitas Perez
2.- Deposito del Anticipo de dinero para el viaje de Juan Pitas Perez
3.- Entrega de gastos del viaje de Juan Pitas Perez
4.- Comprobacion de anticipo contra gastos de Juan Pitas Perez
5.- Saldo a favor de Juan Pitas Perez
6.- Oficina de viaticos deposita 3,000 pesos a Juan Pitas Perez
7.- Oficina de viaticos entrega comprobante de pago a Juan Pitas Perez

Cancelacion del viaje
1.- Emision del Pliego de Juan Pitas Perez
2.- Deposito del Anticipo de dinero para el viaje de Juan Pitas Perez
3.- Cancelacion del viaje de Juan Pitas Perez
4.- Reembolso del boleto de Juan Pitas Perez
5.- Pagar a Oficina de viaticos anticipo de 3,000 pesos a Juan Pitas Perez
6.- Oficina de viaticos entrega comprobante de pago a Juan Pitas Perez

Para el escenario de la 'Cancelación del viaje' entonces tenemos que solo en caso de existir 'EM' (emision de pliego) se puede proceder a la cancelación y se hace la parte del IF (insert). En caso contrario se hace la parte del ELSE.

Pero en mi codigo hago un switch para buscar cada caso que en este caso es 'CA', (cancelación) y la condición del select count(cve_mov) va a buscar el evento 'EP' (Emisión de pliego) y si lo encuentra pone un 1.
Código PHP:
mysqlselect count(cve_movfrom process where cve_mov='EP' and id_plie='1234';
+----------------+
count(cve_mov) |
+----------------+
|              
|
+----------------+
1 row in set (0.01 sec
Aquí en mi código SWITCH no logro que me funcione correctamente la variable $avanceCA y se me va hasta la parte ELSE
Alguien puede ayudarme...
Código PHP:
// Inicia Avance de Pliego
include("conexion.php");
 switch (
$_REQUEST['date_22']) {
 
case 
"CA":
$avanceCA mysql_query("select count(cve_mov) from process where cve_mov='EP' and id_plie='$_REQUEST[date_08]';",$conexion)
 or die(
"Problemas en el Select count(cve_mov=EP): ".mysql_error());
if (
$avanceCA==1
 {
$result7 mysql_query("insert into process values 
($_REQUEST[date_08],'CA','$_REQUEST[date_09]');"
,$conexion)
or die(
"<strong><span style=\"color:red;\">Lo sentimos, NO se permiten Valores Duplicados en Cancelaci&oacute;n,
'$_REQUEST[date_09]'</span></strong><br><br>
<input type=\"button\" onclick=\"history.back()\" value=\"Dar Click Para Regresar\" size='22' class='botones'><br><br>"
);  //.mysql_error());
}
else
{
echo 
" <span style=\"color:red;\">$avanceCA....Todav&iacute;a no existe Fecha de <b>Emisi&oacute;n de Pliego</b> para el pliego # &nbsp; <b>$plie</b></span>
<br><br>"
;
}
break;
}  
// termina el switch 
como nota informativa agrego
Código PHP:
mysqlselect from process where id_plie='1234';
+---------+---------+------------+
id_plie cve_mov fecha_mov  |
+---------+---------+------------+
1234    EP      2012-05-08 |
+---------+---------+------------+ 

Última edición por benjaminvera; 30/05/2012 a las 10:41