entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

Consulta con mysql y que muestre formulario con ajax

Hola a todos, alguien que me asesore por favor, tengo un formulario, en el cual tengo un boton de busqueda, necesito que si encuentra resultados, me muestre el resto del formulario, aqui esta mi codigo

<button type="button" class="btn btn-primary btn-label-left" onClick="buscarFolio()">
        <span><i class="fa fa-clock-o"></i></span>
        Buscar
</button>

que me manda a esta funcion js

function buscarFolio(){
    var textoBusqueda  = document.getElementById("folio").value;
    alert(textoBusqueda);
  if (textoBusqueda != "") {
        $.post("buscar_ingreso.php", {valorBusqueda: textoBusqueda}, function(mensaje) {
            $("#resultadoBusqueda").html(mensaje);
         }); 
     } else { 
        $("#resultadoBusqueda").html('<p>JQUERY VACIO</p>');
        };
}

pero no me muestra los resultados,

contenido de buscar_ingreso.php

<?php
include "conexion.php";
    $folio = $_POST['folio'];

        $query = mysql_query("SELECT * FROM contabilidad where id='".$folio."'"); 
        $rs = mysql_fetch_array($query);
        $id = $rs['id'];  
$fecha = $rs['fecha'];  

?>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">Fecha</label>
    <div class="col-sm-2">
        <input type="text" id="fecha" class="form-control" value="<?php echo $fecha;?>">

    </div>
</div>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">Concepto</label>
    <div class="col-sm-2">
        <input type="text" id="concepto" class="form-control">

    </div>
</div>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">Cantidad</label>
    <div class="col-sm-2">
        <input type="text" id="cantidad" class="form-control">

    </div>
</div>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">Precio Unitario</label>
    <div class="col-sm-2">
        <input type="text" id="precioUnitario" class="form-control">

    </div>
</div>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">Subtotal</label>
    <div class="col-sm-2">
        <input type="text" id="subtotal" class="form-control">

    </div>
</div>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">Saldo Actual</label>
    <div class="col-sm-2">
        <input type="text" id="saldoActual" class="form-control">

    </div>
</div>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">IVA</label>
    <div class="col-sm-2">
        <input type="text" id="iva" class="form-control">

    </div>
</div>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">Total</label>
    <div class="col-sm-2">
        <input type="text" id="total" class="form-control">

    </div>
</div>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">Tipo Pago</label>
    <div class="col-sm-4">
        <div class="row form-group">
            <div class="col-sm-12">
                <select class="form-control" id="tipoPago">
                    <option value="0">Elija su tipo de Pago</option>
                    <option value="Cheque">Cheque</option>
                    <option value="Transferencia">Transferencia</option>
                    <option value="Efectivo">Efectivo</option>
                </select>
            </div>
        </div>
    </div>
</div>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">Banco</label>
    <div class="col-sm-2">
        <input type="text" id="banco" class="form-control">

    </div>
</div>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">Número Factura</label>
    <div class="col-sm-2">
        <input type="text" id="numeroFactura" class="form-control">

    </div>
</div>

<div class="form-group has-warning has-feedback">
    <label class="col-sm-2 control-label">Número Folio</label>
    <div class="col-sm-2">
        <input type="text" id="numeroFolio" class="form-control">

    </div>
</div>

<div class="form-group">
    <label class="col-sm-2 control-label" for="form-styles">Observaciones</label>
    <div class="col-sm-10">
        <textarea class="form-control" rows="5" id="textarea2"></textarea>
    </div>
</div>

<div class="form-group">
    <button type="button" onClick="guardarEgresos()" value="Guardar" class="btn btn-primary">Guardar</button>
 </div>

ayuda por favor, como seria entonces?

3 Respuestas

1voto

cobasESP Puntos19650

Yo usaría la función load() de jQuery, que carga html/php en el div que quieras.

$('#nombredeldiv').load("buscar_ingreso.php?parametro1="+var1+"¶metro2="+var2);

Esta linea de arriba la pasas la dirección de un php pasandole los parametros por get en la misma url y lo que hace es cargarla en segundo plano y pintarla en el div '#nombredeldiv'.

En el div si quieres poner condiciones puedes hacerlo:

<?php
include "conexion.php";
    $folio = $_POST['folio'];

        $query = mysql_query("SELECT * FROM contabilidad where id='".$folio."'"); 
        $rs = mysql_fetch_array($query);
        $id = $rs['id'];  
$fecha = $rs['fecha'];  
if(condicion1){
?>
<input type="fecha" ..>/
<?php
}else{
?>
 <h1>No se encontraron resultados, pruebe de nuevo en unos minutos</h1>
<?php
}
?>

Así quedaría tu php mas o menos por darte una idea, es mucho mas sencillo usar load() cuando quieres cargar un div dinámicamente sin recargar la página, si lo que quieres es traer un dato o algo, ya tendrias que usar $.ajax(), porque los métodos $.post y $.get están ya obsoletos, mírate la documentación de jQuery.

1voto

wroque Puntos4630

quizás se deba a que envías un post con los datos

{
 textoBusqueda: ""
}

y en tu script php consultas por el parametro $_POST['folio'], cuando debiese ser $_POST['textoBusqueda']

no veo otra razón.

1voto

aynek Puntos270

prueba cambiar if (textoBusqueda != "") { por if (textoBusqueda !== "") {

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta