Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema al trasladar datos de cotizacion a contrato.

Estas en el tema de Problema al trasladar datos de cotizacion a contrato. en el foro de PHP en Foros del Web. Hola, este es mi primer post. tengo un problema y no se como resolverlo. estoy haciendo unas pruebas y quiero hacer algo así. elaboro una ...
  #1 (permalink)  
Antiguo 04/07/2014, 12:55
Avatar de juniorxtm  
Fecha de Ingreso: julio-2014
Ubicación: Yucatán
Mensajes: 13
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta Problema al trasladar datos de cotizacion a contrato.

Hola, este es mi primer post. tengo un problema y no se como resolverlo.
estoy haciendo unas pruebas y quiero hacer algo así.
elaboro una cotización y la guardo en la bd usando 2 tablas una cotiza y otra detalle cotiza. hasta aquí OK.
ahora necesito que esa cotización se vuelva un contrato para ello puse un botón que envía el id de la cotización. a un nuevo documento al principio todo iva bien pero ahora quisiera poner que considerar existencias antes de emitir un contrato si son insuficientes cancelar la ejecución y mandar un mensaje pero no se como hacer eso. pensaba en algo así.

Código PHP:
<?php
$id_cotiza 
$_GET['id_cotiza'];
include(
"../coneccion/coneccion.php");
$link conectar();

$qry0=mysqli_query($link"select * from detalle_cotiza where id_cotiza='".$id_cotiza."'");
while (
$row0=mysqli_fetch_array($qry0)){
$id_equipo $row0['id_equipo'];

$qry1=mysqli_query($link"select * from catalogo_equipos where id_equipo='".$id_equipo."' and existencia='0'");
while (
$row1=mysqli_fetch_array($qry1)){
$id_equipo $row1['id_equipo'];
if (
$row1['existencia']>0) {
    echo 
"AQUI IRIA LO QUE SE GUARDA";
}
}
}
?>
Pero esto me comprueba solo el primer valor y no el segundo o me duplica las cosas. de antemano agradezco la ayuda.
  #2 (permalink)  
Antiguo 07/07/2014, 17:49
Avatar de ehguacho  
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Problema al trasladar datos de cotizacion a contrato.

recordá que PHP es server side, así que eventos como el de cancelar el envío de un formulario no podés manejarlos directamente desde PHP, sino que vas a tener que utilizar scripting en el front end (client side), lo que obviamente deriva en javascript.
__________________
Cine clásico en descarga directa! http://felliniycia.comule.com
  #3 (permalink)  
Antiguo 07/07/2014, 17:58
Avatar de juniorxtm  
Fecha de Ingreso: julio-2014
Ubicación: Yucatán
Mensajes: 13
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Problema al trasladar datos de cotizacion a contrato.

Ya lo solucione...

Código PHP:
Ver original
  1. <?php
  2. //OBTENEMOS ID COTIZACION
  3. $id_cotiza = $_GET['id_cotiza'];
  4. include("../coneccion/coneccion.php");
  5. $link = conectar();
  6. //CONSULTAMOS EQUIPOS QUE HAY EN COTIZACION
  7. $verif0=mysqli_query($link, "select * from detalle_cotiza where id_cotiza='".$id_cotiza."'");
  8. //LOS METEMOS EN UN ARRAY
  9. while ($veri0=mysqli_fetch_array($verif0))
  10.   {
  11. //OBTENEMOS ID EQUIPOS EN LA COTIZACION
  12.   $id_equipo = $veri0['id_equipo'];
  13.   $cantidad = $veri0['cantidad2'];
  14. //CONTAMOS CUANTOS EQUIPOS HAY EN LA COTIZACION  
  15.   $conta++;
  16. //CONSULTAMOS EXISTENCIA DE EQUIPOS EN CATALOGO
  17.   $veri1=mysqli_query($link, "select * from catalogo_equipos where id_equipo='".$id_equipo."' and existencia>='$cantidad'" ) or die (mysqli_error());
  18.   $contamos = mysqli_num_rows($veri1);
  19. //SUMAMOS CADA EQUIPO QUE SI HAY EN INVENTARIO
  20.   $inven=$inven+$contamos;
  21.   }
  22. //COMPARAMOS QUE EL TOTAL DE EQUIPOS SEA IGUAL A LA CANTIDAD DE EQUIPOS DISPONIBLES
  23.   if ($inven==$conta)
  24.     {  
  25. //AQUI EMPEZAMOS A GUARDAR TODO
  26.     $qry=mysqli_query($link,"select * from cotiza where id_cotiza='".$id_cotiza."'");
  27.     $row=mysqli_fetch_array($qry);
  28.     $serie = "A";
  29.     $f = mysqli_query($link,"SELECT MAX(id_contrato) AS id FROM contratos");
  30.     if ($f2 = mysqli_fetch_row($f)) {
  31.         $f3 = trim($f2[0]);
  32.         }
  33.         $f5 = mysqli_query($link,"SELECT folio FROM contratos WHERE id_contrato='$f3'");
  34.         if ($f6 = mysqli_fetch_row($f5)) {
  35.             $f7 = trim($f6[0]);
  36.             }
  37.             $folio = $f7 + 1;
  38.             $cliente = $row['cliente'];
  39.             $total = $row['total'];
  40.             $saldo = $row['saldo'];
  41.             $iva = $row['iva'];
  42.             $fecha = date("Y-m-d");
  43.     $sql = "insert into contratos values('0', '$id_cotiza', '$serie', '$folio', '$fecha', '$cliente', '$total', '$saldo', '$iva', 'Emitido')";
  44.     $result = mysqli_query($link,$sql);
  45.     $qry0=mysqli_query($link, "select * from detalle_cotiza where id_cotiza='".$id_cotiza."'");
  46.     while ($row0=mysqli_fetch_array($qry0)){
  47.         $id_equipo = $row0['id_equipo'];
  48.         $equipo = $row0['nombre'];
  49.         $t_renta = $row0['t_renta'];
  50.         $cantidad = $row0['cantidad2'];
  51.         $precio = $row0['precio'];
  52.         $fecha_incio = $row0['fechainicial'];
  53.         $fecha_final = $row0['fechafinal'];
  54.         $rs = mysqli_query($link,"SELECT MAX(id_contrato) AS id FROM contratos");
  55.         if ($row = mysqli_fetch_row($rs)) {
  56.             $id = trim($row[0]);
  57.         }
  58.     $new = $id+1;
  59.     $sql0 = "insert into detalle_contratos values('0', '$id', '$id_equipo', '$equipo', '$t_renta', '$cantidad', '$precio', '$fecha_incio', '$fecha_final', 'ENTREGADO')";
  60.     $result0 = mysqli_query($link,$sql0);
  61.     $qr=mysqli_query($link,"SELECT * FROM catalogo_equipos WHERE id_equipo='$id_equipo'") or die("Error: ".mysqli_error($qr));
  62.     $row1=mysqli_fetch_array($qr);
  63.     $existencia= $row1['existencia'];
  64.     $p_manto= $row1['p_manto'];
  65.     $resta0= $existencia - $cantidad;
  66.     $resta= $p_manto - $t_renta;
  67.     $sqlu= "UPDATE catalogo_equipos set p_manto='$resta', existencia='$resta0' where id_equipo='$id_equipo'";
  68.     $result1 = mysqli_query($link,$sqlu);
  69.     }
  70.     $pago = "insert into pagos values('0', '$id', '$cliente', '$total', '$saldo', '$fecha', 'PENDIENTE')";
  71.     $pago1 = mysqli_query($link,$pago);
  72.     header("location:contrato.php?id_contrato=$id");
  73.     //FIN GUARDADO
  74.     }
  75.     else
  76.     {
  77.     echo "<p align='center'><font color='#FF0000' size='+5'>Equipos no disponibles</font></p>";
  78.     }
  79. ?>

Etiquetas: cotizacion, select, sql, 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 13:07.