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

1voto

Como podria retornar un boleano de una consulta en php

Hola a todos necesito ayuda!! Tengo una función en la cual envío un parámetro para consultar, la cual es la siguiente:

 <script type="text/javascript">

    function existente(){

        var tipoD = document.getElementById("tipoIdent").value;
        var numI = document.form.numIdent.value;

        if(tipoD == null || tipoD == "Tipo Identificación" || numI == null){

            $("#myModal2").modal('show');

        }else{

            $.ajax({
                data: {"num" : numI},
                type: "POST",
                url: "consultarTercero.php",
                success: function(response){
                    $("#myModal1").modal('show');

                    $('.texto').html(response); 
                }
            });

        }

    }

</script>

, Pero tambien tengo en el archivo consultar tercero un consulta la cual me debe retornar un true o un false dependiendo si tiene o no tiene datos.

Archivo consultarTercero.php

<?php 

require_once 'Conexion/conexion.php';
session_start();    

if(($_REQUEST["num"]) !== null){

    $num = $_REQUEST["num"];

        $sql = "SELECT T.Id_Unico , 
                   T.NombreUno , 
                   T.NombreDos , 
                   T.ApellidoUno , 
                   T.ApellidoDos , 
                   T.NumeroIdentificacion , 
                   TI.Id_Unico , 
                   TI.Nombre , 
                   TR.Id_Unico , 
                   TR.Nombre , 
                   Z.Id_Unico , 
                   Z.Nombre,
                   COUNT(*) Total  
            FROM gf_tercero T 
            LEFT JOIN gf_tipo_identificacion TI 
            ON T.TipoIdentificacion = TI.Id_Unico 
            LEFT JOIN gf_tipo_regimen TR 
            ON T.TipoRegimen = TR.Id_Unico  
            LEFT JOIN gf_zona Z 
            ON T.Zona = Z.Id_Unico 
            WHERE T.NumeroIdentificacion = '$num'";

    $Texto = $mysqli->query($sql);

    if ($Texto == true) {

        while ($row = mysqli_fetch_row($Texto)) {

            echo '<input type="hidden" name="id" value="'.md5($row[0]).'">';

        }

        return true;

    }else{

        return false;

    }

}

?>

Pero no se como capturar en el valor retornado por favor necesito ayuda!!!!!!!!!

3 Respuestas

2votos

Alex_Numpaque Puntos17150

Aquí agrego la solución que utilice y agradezco a todos por sus aportes..

En el archivo consultarTercero.php

<?php 

require_once 'Conexion/conexion.php';

session_start();    

if(!empty($_POST["num"]) || !isset($_POST["num"])){

    $num = $_POST["num"];

        $sql = "SELECT DISTINCT
                   T.Id_Unico , 
                   T.NombreUno , 
                   T.NombreDos , 
                   T.ApellidoUno , 
                   T.ApellidoDos , 
                   T.NumeroIdentificacion , 
                   TI.Id_Unico , 
                   TI.Nombre , 
                   TR.Id_Unico , 
                   TR.Nombre , 
                   Z.Id_Unico , 
                   Z.Nombre 
            FROM gf_tercero T 
            LEFT JOIN gf_tipo_identificacion TI 
            ON T.TipoIdentificacion = TI.Id_Unico 
            LEFT JOIN gf_tipo_regimen TR 
            ON T.TipoRegimen = TR.Id_Unico  
            LEFT JOIN gf_zona Z 
            ON T.Zona = Z.Id_Unico 
            WHERE T.NumeroIdentificacion = '$num'";

    $resultado = $mysqli->query($sql);

    $filas =  mysqli_num_rows($resultado);

     $existe = false;

    if ($filas != 0) {

        while ($row = mysqli_fetch_row($resultado)) {

            echo '<input type="hidden" name="id" value="'.md5($row[0]).'">;true';

            print($filas);

        }

    }else{

        echo 'false;0';
    }

}

?>

y en mi formulario de tercero agregue una div dentro del formulario

<div class="Texto" style="display:none"></div>

Y en el script

<script type="text/javascript">

    function existente(){

        var tipoD = document.getElementById("tipoIdent").value;
        var numI = document.form.numIdent.value;

        var result = '';
        if(tipoD == null || tipoD == "Tipo Identificación" || numI == null){

            $("#myModal2").modal('show');

        }else{

            $.ajax({
                data: {"num" : numI},
                type: "POST",
                url: "consultarTercero.php",
                success:  function (data) {

                    var res  = data.split(";");

                    if(res[1] == 'true1'){
                        $('.texto').html(data);
                        $("#myModal1").modal('show');

                    }                           

                }
            });

        }

    }

</script>

en el cual llamo a un formulario modal que consulta si el número de identificación existe me redirige al formulario de edición y sino existe que me permita continuar ingresando datos

1voto

Peter comentado

Gracias por compartir la solución!

2votos

morgooth Puntos2340

Hola, no se si sera la mejor practica pero lo que yo hago en esos casos es agregarlo en el echo que ya tienes pero separarlo con un carácter especial para luego en el retorno del ajax hacer un split .

ej:
.php

 echo "true;1"

.js

var res = data.split(";");
if(res[0] == "true"){
 // lo que tengas que hacer
}

0voto

Alex_Numpaque comentado

@morgooth gracias por tu ayuda!!!!!!!!

2votos

cobasESP Puntos19650

Si lo que quieres es saber si tiene o no tiene datos, mira el numero de registros totales, y devuelve un numero, en el ajax miras si es 0 o mayor.

Aun así, si devuelves un echo con la palabra true o false, en javascript, usa este código para hacer un cast:

//Esto es para castear un boleano
var myBoolean === data.responseText;

//Prueba con esto tambien si no te funciona
var myBoolean = Boolean(data.responseText);

Suponiendo que data es el objeto json que devuelves al ajax y el resposeText es el parámetro que contiene el echo, eso ya dependiendo de como tu hagas y devuelvas la petición.

0voto

Alex_Numpaque comentado

@cobasESP Gracias por tu respuesta

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