Comunidad de diseño web y desarrollo en internet online

Animate cc response array con resultado null php ajax y javascript

Citar            
MensajeEscrito el 12 Feb 2021 04:32 pm
Buenas, tengo este codigo en php y javascript para el aimate cc pero no recoge los datos del array por json. He probado con un array normal y en console si lo ve pero con este tipo de array falla.

PHP leer2.php
include("conex.php");

$ssql = "SELECT * FROM proves WHERE nom LIKE 'david'";
$p=mysqli_query($mysqli, $ssql);
while($row = mysqli_fetch_assoc($p)) {
$nom = $row['nom'];
$descrip = $row['descrip'];
$numero = $row['cant'];

$return_arr = array("nom" => $nom,
"descrip" => $descrip,
"numero" => $numero);

}

//$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );
header('Content-type: application/json; charset=utf-8');
echo json_encode($return_arr);

-----------------------------------------

SCRIPT DE ANIMATE

var root = this;

function ono(){

var ev = "david";
$.ajax({
url:'leer2.php',
dataType:'json',
type:'post',
data:{ev:ev},
success: function(resp){
var nom = resp.nom;
var descrip = resp.descrip;
var numero = parseInt(resp.numero);
root.textos.dave_te.text = nom + descrip + numero;

console.log(resp);
}
});
}
ono();

Por walink

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 15 Feb 2021 06:44 am
Abre el PHP en el navegador y mira si lo que imprime es un JSON válido. Para comprobar que lo cargue, crea un archivo json estático con ese contenido, lo cargas en animate y mira si lo reconoce. Si no, haz un json que funcione (lo puedes copiar de algun tutorial o la documentacion), luego ya miras que el PHP imprima eso mismo

Jorge

Por solisarg

BOFH

13668 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 15 Feb 2021 07:55 am
Gracias por responder. El archivo js lo he verificado y funciona. No se porque me interpreta los datos del array.

Por walink

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 15 Feb 2021 03:12 pm
Entiendo que si funciona si no no te estarías viendo que no carga el array. A lo que apunto es que verifiques la salida, debe tener errores o el json mal formado

Jorge

Por solisarg

BOFH

13668 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 16 Feb 2021 08:11 am
Ya esta SOLUCIONADO, muchas gracias por responder a mi pregunta de todos modos. Os adjunto el código nuevo por si alguien lo quiere utilizar.

PHP

$ssql = "SELECT * FROM proves WHERE nom LIKE '%david%'";
$p=mysqli_query($mysqli, $ssql);

// Inicializar arreglo, para agregar elementos dentro del ciclo
// También evitará errores al final, en caso de que no haya resultados
$return_arr = [];
// Recorrer resultados
while($row = mysqli_fetch_assoc($p)) {
$nom = $row['nom'];
$descrip = $row['descrip'];
$numero = $row['cant'];

// Agregar elemento al arreglo
$return_arr[] = [
"nom" => $nom,
"descrip" => $descrip,
"numero" => $numero
];
}

header('Content-type: application/json; charset=utf-8');
echo json_encode($return_arr);
--------------------------------------------------
JAVASCRIPT

function ono() {
var ev = "david";
$.ajax({
url:'leer2.php',
dataType:'json',
type:'post',
data:{ev:ev},
success: function(resp) {
// Ver datos recibidos
console.log(resp);
// Borrar contenido inicial
root.textos.dave_te.text = '';
// Hay resultados?
if(resp.length > 0) {
// Sí hay resultados, se deben recorrer
resp.forEach(item => {
let nom = item.nom;
let descrip = item.descrip;
let numero = parseInt(item.numero);
// Agregar contenido usando plantillas de texto
root.textos.dave_te.text += `<div>
Nombre: ${nom}<br>
Descripción: ${descrip}<br>
Número: ${numero}
</div>`;
});
} else {
// Actualizar contenido
root.textos.dave_te.text = 'No se encontraron resultados';
}
}
});
}
ono();

Por walink

1 de clabLevel



 

chrome

   Página 1 de 1

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.