Ver Mensaje Individual
  #8 (permalink)  
Antiguo 27/04/2016, 18:41
erickmpos
 
Fecha de Ingreso: enero-2016
Ubicación: Heredia
Mensajes: 35
Antigüedad: 8 años, 3 meses
Puntos: 0
Exclamación Respuesta: Crear lineas dinámicas Jquery

Buenas, muchas gracias, te comento lo que he podido hacer, para ver si me puedes dar la mano en esta parte que estoy super perdido, con respecto a la parte de la base de datos:
Tengo el index.html
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.  
  3. <html lang="es">
  4.  
  5.     <head>
  6.         <title>Factura Ventas</title>
  7.         <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
  8.         <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
  9.         <script type="text/javascript" src="js/bootstrap.js"></script>
  10.         <script type="text/javascript" src="js/bootstrap.min.js"></script>
  11.         <script type="text/javascript" src="js/jquery.js"></script>
  12.         <script type="text/javascript" src="js/llenado_de_campos.js"></script>
  13.     </head>
  14.    
  15.     <body>
  16.         <div class="box box-primary">
  17.             <div class="box-header">
  18.                 <h3 class="box-tittle">Factura de Venta</h3>
  19.             </div>
  20.             <div class="box-body">
  21.                     Codigo Barras
  22.                     <input type="text" name="busqueda" class="form-control" id="busqueda" value="" placeholder="" maxlength="30" autocomplete="off" onKeyUp="nuevalinea();" />
  23.             </div>
  24.             </div>
  25.             <input type="submit" class="btn btn-primary" name="save" value="Salvar Factura">
  26.         <br/>
  27.         <table class="table table-bordered table-hover">
  28.             <thead>
  29.                 <th>No</th>
  30.                 <th>Nombre del Producto</th>
  31.                 <th>Cantidad</th>
  32.                 <th>Precio</th>
  33.                 <th>Descuento</th>
  34.                 <th>Total</th>
  35.                
  36.             </thead>
  37.             <tbody class="detail">
  38.                 <tr>
  39.                     <td class="no">1</td>
  40.                     <td><input type="text" class="form-control productname" name="productname[]"></td>
  41.                     <td><input type="text" class="form-control quantity" name="quantity[]"></td>
  42.                     <td><input type="text" class="form-control price" name="price[]"></td>
  43.                     <td><input type="text" class="form-control discount" name="discount[]"></td>
  44.                     <td><input type="text" class="form-control amount" name="amount[]"></td>
  45.                     <td><a href="#" class="btn btn-danger delete">Borrar</td>
  46.                 </tr>
  47.             </tbody>
  48.             <tfoot>
  49.                 <th></th>
  50.                 <th></th>
  51.                 <th></th>
  52.                 <th></th>
  53.                 <th></th>
  54.                 <th style="text-align: center;" class="total">$<b>0</b></th>
  55.             </tfoot>
  56.         </table>
  57.     </body>
  58.    
  59. </html>

Luego tengo el JavaScript
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.              $("#resultadoBusqueda").html('<p>No hay codigo</p>');
  3.  
  4.              
  5.               $('body').delegate('.delete','click',function(){
  6.                   $(this).parent().parent().remove();
  7.               });
  8.              
  9.               $('.detail').delegate('.quantity, .price, .discount','keyup',function(){
  10.                  var tr = $(this).parent().parent();
  11.                  var qty = tr.find('.quantity').val();
  12.                  var price = tr.find('.price').val();
  13.                  var dis = tr.find('.discount').val();        
  14.                  var amt = (qty * price)-(qty * price * dis)/100;
  15.                  tr.find('.amount').val(amt);
  16.                  total();
  17.               });
  18.            });
  19.            
  20.            function total()
  21.            {
  22.                var t = 0;
  23.                $('.amount').each(function(i,e)
  24.                {
  25.                    var amt = $(this).val()-0;
  26.                    t += amt;
  27.                });
  28.                $('.total').html(t);
  29.            }
  30.            
  31.            function nuevalinea()
  32.            {
  33.                 var textoBusqueda = $("input#busqueda").val();
  34.                 var n = ($('.detail tr').length - 0)+ 1;
  35.                 var tr = '<tr>' +
  36.                             '<td class="no">' + n + '</td>'+
  37.                             '<td><input type="text" class="form-control productname" name="productname[]"></td>'+
  38.                             '<td><input type="text" class="form-control quantity" name="calidad[]"></td>'+
  39.                             '<td><input type="text" class="form-control price" name="price[]"></td>'+
  40.                             '<td><input type="text" class="form-control discount" name="discount[]"></td>'+
  41.                             '<td><input type="text" class="form-control amount" name="amount[]"></td>'+
  42.                             '<td><a href="#" class="btn btn-danger delete">Borrar</td>'+
  43.                          '</tr>';
  44.                 $('.detail').append(tr);
  45.                 if (textoBusqueda !== "") {
  46.                    $.post("buscar.php", {valorBusqueda: textoBusqueda}, function(mensaje) {
  47.                        $("#resultadoBusqueda").html(mensaje);
  48.                     });
  49.                 } else {
  50.                    $("#resultadoBusqueda").html('<p>KMPOS</p>');
  51.                    };
  52.            }

Por ultimo tengo el buscar.php

Código PHP:
Ver original
  1. <?php
  2. //Archivo de conexión a la base de datos
  3. require'../../class/database.php';
  4. //$this->objCon = new DataBase();
  5. //Variable de búsqueda
  6. $consultaBusqueda = $_POST['valorBusqueda'];
  7.  
  8. print_r($consultaBusqueda);
  9.  
  10. //Filtro anti-XSS
  11. $caracteres_malos = array("<", ">", "\"", "'", "/", "<", ">", "'", "/");
  12. $caracteres_buenos = array("& lt;", "& gt;", "& quot;", "& #x27;", "& #x2F;", "& #060;", "& #062;", "& #039;", "& #047;");
  13. $consultaBusqueda = str_replace($caracteres_malos, $caracteres_buenos, $consultaBusqueda);
  14.  
  15. //Variable vacía (para evitar los E_NOTICE)
  16. $mensaje = "";
  17.  
  18. //Comprueba si $consultaBusqueda está seteado
  19. if (isset($consultaBusqueda)) {
  20.  
  21.     //Selecciona todo de la tabla mmv001
  22.     //donde el nombre sea igual a $consultaBusqueda,
  23.     //o el apellido sea igual a $consultaBusqueda,
  24.     //o $consultaBusqueda sea igual a nombre + (espacio) + apellido
  25.         $objData = new Database();
  26.         $sth = $objData->prepare("SELECT *, COUNT(*) FROM mmv001
  27.     WHERE nombre COLLATE UTF8_SPANISH_CI LIKE '%$consultaBusqueda%'
  28.     OR apellido COLLATE UTF8_SPANISH_CI LIKE '%$consultaBusqueda%'
  29.     OR CONCAT(nombre,' ',apellido) COLLATE UTF8_SPANISH_CI LIKE '%$consultaBusqueda%'
  30.     ");
  31.         $sth->execute();
  32.         $consulta = $sth->fetchAll();
  33.      
  34. //Obtiene la cantidad de filas que hay en la consulta
  35.         $filas = $consulta[0]['COUNT(*)'];
  36.    
  37.  
  38.     //Si no existe ninguna fila que sea igual a $consultaBusqueda, entonces mostramos el siguiente mensaje
  39.     if ($filas === 0) {
  40.         $mensaje = "<p>No hay ningún usuario con ese nombre y/o apellido</p>";
  41.     } else {
  42.         //Si existe alguna fila que sea igual a $consultaBusqueda, entonces mostramos el siguiente mensaje
  43.         echo 'Resultados para <strong>'.$consultaBusqueda.'</strong>';
  44.  
  45.         //La variable $resultado contiene el array que se genera en la consulta, así que obtenemos los datos y los mostramos en un bucle
  46.          if ($consulta){
  47.                        foreach ($consulta as $row){
  48.              
  49.             $nombre = $row['nombre'];
  50.             $apellido = $row['apellido'];
  51.             $edad = $row['edad'];?>
  52.            
  53.            <tbody class="detail">
  54.                 <tr>
  55.                     <td class="no">1</td>
  56.                    
  57.              
  58.                     <td><input type="text" class="form-control discount" name="descuento" value="<?php echo $row['nombre'] ?>"></td>
  59.                     <td><input type="text" class="form-control amount" name="total" value="<?php echo $apellido ?>"></td>
  60.                     <td><a href="#" class="btn btn-danger delete">Borrar</td>
  61.                 </tr>
  62.            </tbody>
  63.             <tfoot>
  64.                 <th></th>
  65.                 <th></th>
  66.                 <th></th>
  67.                 <th></th>
  68.                 <th></th>
  69.                 <th style="text-align: center;" class="total">$<b>0</b></th>
  70.             </tfoot>
  71.  
  72.            
  73.         <?php  
  74.                        };
  75.         };//Fin while $resultados
  76.  
  77.     }; //Fin else $filas
  78.  
  79. };//Fin isset $consultaBusqueda
  80.  
  81. //Devolvemos el mensaje que tomará jQuery
  82. echo $mensaje;

Pero no me funciona con la base de datos, de igual manera los datos no son los correctos de un producto, utilice otra base de datos menos complicada.

Lo que sucede es que no puedo hacer la conexion bien.

Gracias, saludos