PHP - Error con php jquery json

   
Vista:

Error con php jquery json

Publicado por thor (1 intervención) el 19/10/2015 20:11:04
Hola, alguien me puede ayudar con este codigo.
Mi problema es que solo consigo obtener el ultimo registro de mi tabla cuando ejecuto un alert(response) el cual deberia mostrar todos los registros y no solo el ultimo.

Me pueden ayudar a encontrar el error para poder recuperar todos los registros y cargar mi select

Esta es mi funcion js donde quiero cargar un combo con los datos que rescato de una base de datos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function cargaDatos()
{
 
        var parametros = {
            "menuFunciones": 1
 
 
        };
        $.ajax({
            type: 'POST',
            url: './vistas/default/modulos/administracion/propiedades/ManejoDatos.php',
           // contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: parametros,
 
            beforeSend: function () {
                // $("#resultado").html("Procesando, espere por favor...");
            },
            success: function (response) {
 
 
              alert(response)
         $.each(response, function(i,item) {
             alert(response)
             $("#cmbDatos").append("<option value='" + item[i].idDatos + "'>"
                 + "</option>");
 
                    });
 
            },
            error:function(){alert("Conexion con errores");}
        });
 
    }


Esta es mi funcion en php donde ejecuto mi procedimiento almacenado y de la cual quiero enviar el resultado en formato json hacia mi js
1
2
3
4
5
6
7
8
9
10
11
12
13
function cargarDatos() {
    $objdb = new database();
    $objdb->abrir();
    $resultado = $objdb->consulta("CALL sp_cargarDatos()");
    $objdb->cerrar();
 
    $longitud = count($resultado);
    for ($i = 0; $i < $longitud; $i++) {
 
     $result = $resultado[$i];
     echo json_encode($resultado);
    }
}



Finalmente tengo mi funcion que se encarga de extraer los datos y retornar el json.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public function consulta($query) {
        $valores = array();
 
        $result = mysqli_query($this->conn, $query);
        if (!$result) {
            die('Error query BD:' . mysqli_error());
        } else {
            $num_rows = mysqli_num_rows($result);
 
            for ($i = 0; $i < $num_rows; $i++) {
                $row = mysqli_fetch_assoc($result);
                $valores = array_map('utf8_encode', $row);
            }
        }
 
        if ($num_rows > 0) {
            return  json_encode($valores);
        } else {
            return 0;
        }
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Error con php jquery json

Publicado por xve (5522 intervenciones) el 19/10/2015 21:13:21
Hola Tor, en el ajax, llegan todos los registros que esperas?
en este alert: alert(response)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error con php jquery json

Publicado por thor (1 intervención) el 19/10/2015 21:57:47
si, llegan todos los registros, pero no entra en el ciclo each
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error con php jquery json

Publicado por Branford A. (1 intervención) el 20/10/2015 08:38:44
Si el resultado es un json, prueba asi:
1
$("#cmbDatos").append("<option value='" + i + "'>"+item+"</option>");

si no te funciona, muéstranos el contenido de la variable response
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar