Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

126
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!