Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

129
Vistas
Cómo hacer eco y recuperar varias filas con php

En primer lugar hola a todos. El problema es que estoy haciendo una llamada ajax desde javascript a un archivo php. Y en ese archivo php hay una declaración preparada que devuelve 15 filas. Necesito json_encode() estas filas y enviar de vuelta al archivo javascript para poder usar toda esta información en cada fila, que es información sobre el perfil de los usuarios. ¿Qué pasa con mi código? Llamo a fetch_assoc() constantemente hasta que se procesan todas las filas, pero cuando lo muestro en la consola, solo muestra una fila.

Este es get_info.php:

 // Get the profile info $stmt = $conn->prepare("SELECT teachers.fname, teachers.lname, profile.img_url, profile.gender, profile.introduction, profile.city, profile.preference, profile.keyword FROM profile INNER JOIN teachers ON profile.user_id = teachers.id WHERE profile.keyword=? ORDER BY RAND() LIMIT 15"); $stmt->bind_param("s", $keyword); $stmt->execute(); $result = $stmt->get_result(); // get the mysqli result $resultArray = []; if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $resultArray = $row; } $result = json_encode($resultArray); echo $result; }

Y este es el archivo javascript donde está la solicitud ajax:

 $(document).ready(function() { $.getJSON("get_info.php", function(result) { console.log(result); } )})
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Sigue sobrescribiendo $resultArray cada vez que realiza un bucle, por lo que solo verá la última fila devuelta por la consulta.

Debe asignar $row a un nuevo elemento de $resultArray cada vez que realiza un bucle, luego agrega filas a la matriz, en lugar de sobrescribir la variable con una sola fila.

Es muy simple hacer eso:

 $resultArray[] = $row;

También puede leer https://www.php.net/manual/en/language.types.array.php#language.types.array.syntax.modifying para refrescar su memoria de este bit clave de sintaxis de PHP.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda