AnswerBun.com

Extraer información de una consulta que esta en un for() PHP

Stack Overflow en español Asked by Tania Barron Rosas on October 19, 2020

Hola necesito su ayuda para poder extraer todos los datos de cualquiera de estos for(). EL problema que tengo es que sólo me retorna un valor en cualquiera de los casos, si me imprime bien la cadena, pero sólo si esta dentro del for(). ¿Alguna idea? :c

$objetos= new DB();
$query = "SELECT COUNT(*) total_repetidos, Ciudadderesidencia FROM `Solicitudes` WHERE Id_usuarios = 1 && Procesamiento = 1 GROUP By Ciudadderesidencia HAVING total_repetidos > 1 ORDER BY total_repetidos DESC";
$resultado = $objetos->consultaregistros($query);    
echo $resultado; //array
echo "<br>";
for($x=0;$x<count($resultado);$x++){          
  $ciudad = $resultado[$x]['Ciudadderesidencia'];               
  $variable1 = "$ciudad,";
  echo $variable1; //imprime el resultado
  }   

Hasta aquí todo bien
introducir la descripción de la imagen aquí

Ese es el resultado que me da.
Hice dos cosas para que me retornara el resultado en una variable, el problema es que sólo me regresa el último resultado y yo necesito toda la cadena.

Código 1:

$objetos= new DB();
$query = "SELECT COUNT(*) total_repetidos, Ciudadderesidencia FROM `Solicitudes` WHERE Id_usuarios = 1 && Procesamiento = 1 GROUP By Ciudadderesidencia HAVING total_repetidos > 1 ORDER BY total_repetidos DESC";
$resultado = $objetos->consultaregistros($query);
for($x=0;$x<count($resultado);$x++){          
  $ciudad = $resultado[$x]['Ciudadderesidencia'];               
  $variable1 = "$ciudad,";
  
  }echo $variable1;

Me da el último valor del array.
introducir la descripción de la imagen aquí

Código 2:

function revision($resultado){   
    for($x=0;$x<count($resultado);$x++){            
        $ciudad = $resultado[$x]['Ciudadderesidencia'];         
        echo $ciudad; //imprime el resultado
    }
    return $ciudad; 
 }

$objetos= new DB();
$receptividad0 = "SELECT COUNT(*) total_repetidos, Ciudadderesidencia FROM `Solicitudes` WHERE Id_usuarios = 1 && Procesamiento = 1 GROUP By Ciudadderesidencia HAVING total_repetidos > 1 ORDER BY total_repetidos DESC";
$resultado = $objetos->consultaregistros($receptividad0);  
$variable6 = revision($resultado);
  echo "<br>";
  echo "Funcion revision:"; 
  echo "<br>";     
  echo $variable6;
  echo "<br>";

Este es el resultado
introducir la descripción de la imagen aquí

Hace la consulta bien e imprime el resultado, pero a la hora de retornar me da sólo el último.

One Answer

Necesitas crear una variable antes de iniciar el ciclo e ir actualizando en cada iteración:

function revision($resultado){
    // Creas un arreglo para almacenar las ciudades
    $ciudad = [];
    for($x=0;$x<count($resultado);$x++) {
        // Agregas la ciudad al arreglo
        $ciudad[] = $resultado[$x]['Ciudadderesidencia'];
    }
    // Devuelves todas las ciudades ['ciudad1', 'ciudad2', etc.]
    return $ciudad; 
}

Si necesitas que sea una cadena cambia el return por

return implode(', ', $ciudad);

Con implode() unes todos los elementos en una cadena y separando con el primer parámetro, en este caso, coma y espacio.

Correct answer by Triby on October 19, 2020

Add your own answers!

Related Questions

Formato adecuado para implementar videos en Android Studio

1  Asked on August 26, 2021 by cristian-sierra

 

Rellenar un array con valores de otro array

2  Asked on August 26, 2021 by diego-sanchez

   

Al entrar en vim se me activa el replace

1  Asked on August 26, 2021

     

Error al correr: php public/index.php en proyecto Zend

1  Asked on August 26, 2021 by esteban-ali-yaez-badillo

 

¿Cómo relacionar elementos de un Array entre ellos?

2  Asked on August 26, 2021 by nicolas-oate

     

¿Cómo puedo mostrar los datos de una pila?

1  Asked on August 26, 2021 by tutos-tiles-para-gente-til-201

 

contar items en node js

2  Asked on August 26, 2021 by santiago-martinez

   

update en c# con base sql server

1  Asked on August 26, 2021 by rodrigo-arturo

     

¿Por que al querer insertar una variable a mi BD me da parse error?

1  Asked on August 26, 2021 by diego-goncalves

 

Ask a Question

Get help from others!

© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP, SolveDir