Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/02/2020, 15:52
Avatar de dryant
dryant
 
Fecha de Ingreso: agosto-2009
Ubicación: Malaga, Ceuta, España....
Mensajes: 283
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: Arrays asociativos

Cita:
Iniciado por dryant Ver Mensaje
Hola a todos...
Estoy un poco torpe hoy y no se como hacer lo que quiero....
Necesito sacar de una base de datos de un blog todos los articulos de un autor en concreto. La consulta es la siguiente
Código PHP:
SELECT    
    id
,
    
title,
    
content,
    
photo
FROM
    articles
WHERE
    user_id 
$authorid
AND 
    
approved 
Y se almacena en una variable $articulos. de tal forma que para acceder a cada elemento de cada articulo sería así: $articulo[3]['title']

Hasta ahí bien....
Pero ahora estoy creando una clase intermedia (un controlador) que quiero que me prepare todos los datos de la variable $articulos para que los deje listos para la vista.

Lo que necesito es crear otro array en la clase controlador que tenga todos los articulos con todos sus campos, pero modificados. Por ejemplo, la consulta me devuelve en todos los articulos el numero de la foto (1452.jpg por ejemplo) y yo lo que necesito es que la clase controlador me coja los datos devueltos de la consulta y me los inserte en otro array para devolver a la vista pero en vez de tener 1452.jpg con "/img/articles/1452.jpg"

He intentado esto pero no me esta funcionando:

Código PHP:
$respuestas ModeloArticulos::mdlGetArticlesByAuthorId($authorId);

        
$datos = array();
        
$i 0;
        foreach (
$respuestas as $respuesta) {
            
$datos[$i] =
                array( 

                    
'articleId' => $respuesta["id"],
                    
'title' => $respuesta["title"],
                    
'content' => $respuesta["content"],
                    
'photo_url' => $respuesta["photo"]
                )
                
$i++;

        }

        return 
$datos
Que estoy haciendo mal?

Gracias!
Vale ya....

Si es que lo tiene estar todo el rato programando sin levantarse de la silla.... Ha sido levantarme y desconectar un rato y al ponerme de nuevo ya he visto donde estaba el error.
En foreach sobraba el array teniendo que quedar asi:

Código PHP:

foreach ($respuestas as $respuesta) {
            
$datos[$i] =
                [ 

                    
'articleId' => $respuesta["id"],
                    
'title' => $respuesta["title"],
                    
'content' => $respuesta["content"],
                    
'photo_url' => $respuesta["photo"]
                ];
                
$i++;

        } 
Total, que ya esta solucionado..
Gracias!
__________________
Tecnología y tutoriales