Advertisement
AMERISA123

Untitled

May 27th, 2022
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.45 KB | None | 0 0
  1.  
  2. <?php
  3. $caracteres = "1234567890";
  4. $desordenada = str_shuffle($caracteres);
  5. $CH = substr($desordenada, 1, 4);
  6. ?>
  7.  
  8. <?php
  9. include ("conexion.php");
  10. $productos = "SELECT codigo,descripcion, precioventa,existencia, imagen FROM productos";
  11. $resultado = mysqli_query($conexion, $productos);
  12. $filas = '';
  13. while ($row = mysqli_fetch_array($resultado)) {
  14. $filas .= '
  15. <tr>
  16. <td><input type="hidden" name="codigo[]" value="'.$row["codigo"].'">'.$row["codigo"].'</td>
  17.  
  18. <td><input name="descripcion[]" value="'.$row["descripcion"].'" readonly="readonly"></td>
  19.  
  20. <td><img width="100px" src="imagenes/'.$row['imagen'].'"></td>
  21.  
  22. <td><input name="existencia[]" value="'.$row["existencia"].'" readonly="readonly"></td>
  23.  
  24. <td><input name="precioventa[]" class="clasePrecio form-control" value="'.$row["precioventa"].'" readonly="readonly"></td>
  25. <td><input name="cantidad[]" class="claseCantidad form-control" type="number" min="0" max="'.$row["existencia"].'" size="1" value="0">
  26. <input type="button" class="btn_agregar btn btn-primary form-control" value="Agregar">
  27. </td>
  28. <td>
  29. <div class="input-group mb-3">
  30. <span class="input-group-text border-0 bg-white">$</span>
  31. <input name="subtotal[]" type="text" class="claseResultado border-0 form-control" placeholder="" value="0">
  32. </div>
  33. </td>
  34. </tr>
  35. ';
  36. }
  37. mysqli_free_result($resultado);
  38. ?>
  39.  
  40. <html>
  41.  
  42. <head>
  43. <title>Formulario</title>
  44. <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
  45. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  46.  
  47. <script type="text/javascript">
  48. function validarRegistro(){
  49. //nombre
  50. if (document.form.nombre.value==""||
  51. document.form.nombre.value==" " ||
  52. document.form.nombre.value== null ) {
  53. alert("El campo nombre esta vacio");
  54. return false;
  55. }
  56. //direccion
  57. if (document.form.direccion.value==" "||
  58. document.form.direccion.value=="") {
  59. alert("El campo direccion esta vacio")
  60. return false;
  61. }
  62.  
  63. //email
  64. if (document.form.email.value==" "||
  65. document.form.email.value=="") {
  66. alert("El campo e-mail esta vacio")
  67. return false;
  68. }
  69. if (document.form.email.value.search(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) {
  70. alert("El campo e-mail no es valido")
  71. return false;
  72. }
  73. //telefono
  74. if (document.form.telefono.value==" "||
  75. document.form.telefono.value=="") {
  76. alert("El campo telefono esta vacio")
  77. return false;
  78. }
  79. document.form.submit();
  80. }
  81. </script>
  82.  
  83. </head>
  84.  
  85. <body>
  86. <div class="container">
  87.  
  88. <form method="post" id="myForm" action="procesarordenbd.php">
  89.  
  90. <div class="datosCliente d-none" >
  91. <img style="width: 327px; height: 227px;" alt="" src="JOSTORE.jpeg">&nbsp;
  92. <caption>Datos para la entrega</caption>
  93. <p>N° de Orden &nbsp; <input type="text" name= "n_orden" id="n_orden" size="1" readonly="readonly" > </p>
  94. <br>
  95. <p >
  96. Nombres: <input name="nombre" required=""></p>
  97. <p>
  98. Correo:
  99. <input name="email" required="" type="email"></p>
  100. <p>
  101. Dirección: <input name="direccion" required=""></p>
  102. <br>
  103. <p>
  104. Telefono: <input name="telefono" required="">
  105. </p>
  106. <input name="Submit2" value="Limpiar" type="reset">
  107. </div>
  108. <table id="pedido" class="table table-bordered mt-2">
  109. <caption class="caption-top">Productos a la Venta</caption>
  110. <thead>
  111. <tr>
  112. <th>Código</th>
  113. <th>Descripción</th>
  114. <th>Imagen</th>
  115. <th>Existencia</th>
  116. <th>Precio Unitario</th>
  117. <th>Ingrese Cantidad</th>
  118. <th>Subtotal</th>
  119. </tr>
  120. </thead>
  121. <tbody>
  122. <?= $filas; ?>
  123. </tbody>
  124.  
  125. <tfoot>
  126. <td colspan="5"></td>
  127. <td>Total </td>
  128. <td>
  129. <div class="input-group mb-3">
  130. <span class="input-group-text border-0 bg-white">$</span>
  131. <input type="text" class="claseTotal border-0 form-control bg-white" disabled value="0">
  132. </div>
  133. </td>
  134. </tfoot>
  135.  
  136. </table>
  137.  
  138.  
  139. <button type="sumbit" class="mostrarOrden btn_agregar btn btn-primary form-control">Generar Orden de Compra</button>
  140. </form>
  141.  
  142. <br>
  143. <br>
  144. </div>
  145.  
  146. <script>
  147. $(document).ready(function() {
  148. $('.btn_agregar').on('click', function() {
  149. let precio = $(this).closest('tr').find('.clasePrecio').val();
  150. let cantidad = $(this).closest('tr').find('.claseCantidad').val();
  151. $(this).closest('tr').find('.claseResultado').html("$" + (parseFloat(precio) * parseFloat(cantidad)))
  152. $(this).closest('tr').find('.claseResultado').val((parseFloat(precio) * parseFloat(cantidad)))
  153. sumarsubtotales()
  154. });
  155.  
  156. function sumarsubtotales() {
  157. let total = 0
  158. $('.claseResultado').each(function() {
  159. total += parseInt($(this).val())
  160. })
  161. $('.claseTotal').val(total)
  162. }
  163. $('.mostrarOrden').on('click', function() {
  164.  
  165. $('#pedido tr').each(function() {
  166. let cantidad = $(this).find('.claseCantidad').val()
  167. if (cantidad == 0) {
  168. $(this).addClass('d-none')
  169. }
  170. })
  171.  
  172. let CH = Math.floor(Math.random() * 9999) + 1;
  173. $('#captiontable').html("Detalles de la orden número: " + CH)
  174. $('#myForm').append('<input type="hidden" name="numeroOrden" value="' + CH + '">')
  175. $('.datosCliente').removeClass('d-none')
  176.  
  177. })
  178.  
  179. });
  180. </script>
  181. <script>
  182. let n_orden = "<?php echo $CH ?>";
  183. window.addEventListener('load', () => {
  184. document.getElementById('n_orden').value = n_orden;
  185. });
  186. </script>
  187.  
  188. </body>
  189.  
  190. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement