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<!DOCTYPE html>
<link rel="stylesheet" type="text/css" href="css/bootstrap.css"> <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"> <script type="text/javascript" src="js/bootstrap.js"></script> <script type="text/javascript" src="js/bootstrap.min.js"></script> <script type="text/javascript" src="js/llenado_de_campos.js"></script>
<div class="box box-primary"> <h3 class="box-tittle">Factura de Venta
</h3> Codigo Barras
<input type="text" name="busqueda" class="form-control" id="busqueda" value="" placeholder="" maxlength="30" autocomplete="off" onKeyUp="nuevalinea();" /> <input type="submit" class="btn btn-primary" name="save" value="Salvar Factura"> <table class="table table-bordered table-hover"> <th>Nombre del Producto
</th>
<td><input type="text" class="form-control productname" name="productname[]"></td> <td><input type="text" class="form-control quantity" name="quantity[]"></td> <td><input type="text" class="form-control price" name="price[]"></td> <td><input type="text" class="form-control discount" name="discount[]"></td> <td><input type="text" class="form-control amount" name="amount[]"></td> <td><a href="#" class="btn btn-danger delete">Borrar
</td> <th style="text-align: center;" class="total">$
<b>0
</b></th>
Luego tengo el JavaScript
Código Javascript
:
Ver original$(document).ready(function() {
$("#resultadoBusqueda").html('<p>No hay codigo</p>');
$('body').delegate('.delete','click',function(){
$(this).parent().parent().remove();
});
$('.detail').delegate('.quantity, .price, .discount','keyup',function(){
var tr = $(this).parent().parent();
var qty = tr.find('.quantity').val();
var price = tr.find('.price').val();
var dis = tr.find('.discount').val();
var amt = (qty * price)-(qty * price * dis)/100;
tr.find('.amount').val(amt);
total();
});
});
function total()
{
var t = 0;
$('.amount').each(function(i,e)
{
var amt = $(this).val()-0;
t += amt;
});
$('.total').html(t);
}
function nuevalinea()
{
var textoBusqueda = $("input#busqueda").val();
var n = ($('.detail tr').length - 0)+ 1;
var tr = '<tr>' +
'<td class="no">' + n + '</td>'+
'<td><input type="text" class="form-control productname" name="productname[]"></td>'+
'<td><input type="text" class="form-control quantity" name="calidad[]"></td>'+
'<td><input type="text" class="form-control price" name="price[]"></td>'+
'<td><input type="text" class="form-control discount" name="discount[]"></td>'+
'<td><input type="text" class="form-control amount" name="amount[]"></td>'+
'<td><a href="#" class="btn btn-danger delete">Borrar</td>'+
'</tr>';
$('.detail').append(tr);
if (textoBusqueda !== "") {
$.post("buscar.php", {valorBusqueda: textoBusqueda}, function(mensaje) {
$("#resultadoBusqueda").html(mensaje);
});
} else {
$("#resultadoBusqueda").html('<p>KMPOS</p>');
};
}
Por ultimo tengo el buscar.php
Código PHP:
Ver original<?php
//Archivo de conexión a la base de datos
require'../../class/database.php';
//$this->objCon = new DataBase();
//Variable de búsqueda
$consultaBusqueda = $_POST['valorBusqueda'];
//Filtro anti-XSS
$caracteres_malos = array("<", ">", "\"", "'", "/", "<", ">", "'", "/"); $caracteres_buenos = array("& lt;", "& gt;", "& quot;", "& #x27;", "& #x2F;", "& #060;", "& #062;", "& #039;", "& #047;"); $consultaBusqueda = str_replace($caracteres_malos, $caracteres_buenos, $consultaBusqueda);
//Variable vacía (para evitar los E_NOTICE)
$mensaje = "";
//Comprueba si $consultaBusqueda está seteado
if (isset($consultaBusqueda)) {
//Selecciona todo de la tabla mmv001
//donde el nombre sea igual a $consultaBusqueda,
//o el apellido sea igual a $consultaBusqueda,
//o $consultaBusqueda sea igual a nombre + (espacio) + apellido
$objData = new Database();
$sth = $objData->prepare("SELECT *, COUNT(*) FROM mmv001
WHERE nombre COLLATE UTF8_SPANISH_CI LIKE '%$consultaBusqueda%'
OR apellido COLLATE UTF8_SPANISH_CI LIKE '%$consultaBusqueda%'
OR CONCAT(nombre,' ',apellido) COLLATE UTF8_SPANISH_CI LIKE '%$consultaBusqueda%'
");
$sth->execute();
$consulta = $sth->fetchAll();
//Obtiene la cantidad de filas que hay en la consulta
$filas = $consulta[0]['COUNT(*)'];
//Si no existe ninguna fila que sea igual a $consultaBusqueda, entonces mostramos el siguiente mensaje
if ($filas === 0) {
$mensaje = "<p>No hay ningún usuario con ese nombre y/o apellido</p>";
} else {
//Si existe alguna fila que sea igual a $consultaBusqueda, entonces mostramos el siguiente mensaje
echo 'Resultados para <strong>'.$consultaBusqueda.'</strong>';
//La variable $resultado contiene el array que se genera en la consulta, así que obtenemos los datos y los mostramos en un bucle
if ($consulta){
foreach ($consulta as $row){
$nombre = $row['nombre'];
$apellido = $row['apellido'];
$edad = $row['edad'];?>
<tbody class="detail">
<tr>
<td class="no">1</td>
<td><input type="text" class="form-control discount" name="descuento" value="<?php echo $row['nombre'] ?>"></td>
<td><input type="text" class="form-control amount" name="total" value="<?php echo $apellido ?>"></td>
<td><a href="#" class="btn btn-danger delete">Borrar</td>
</tr>
</tbody>
<tfoot>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th style="text-align: center;" class="total">$<b>0</b></th>
</tfoot>
<?php
};
};//Fin while $resultados
}; //Fin else $filas
};//Fin isset $consultaBusqueda
//Devolvemos el mensaje que tomará jQuery
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