PHP - obtener datos con consultas preparadas en pdo

 
Vista:
sin imagen de perfil
Val: 30
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

obtener datos con consultas preparadas en pdo

Publicado por Manuel (12 intervenciones) el 03/05/2021 11:59:41
Buenas tardes, a ver si me podeis orientar un poquillo porque estoy un poco perdido.
Después de llevarme días buscando información sobre cómo realizar consultas con pdo y sentencias preparadas he podido medio montar un simple crud pero no puedo mostrar los datos obtenidos.
He montado un mvc pero no logo conseguir que me muestre los datos.

Este sería el controlador:
método index que muestra tareas pendientes para el dia, si le hago un var_dump() me muestra los datos correctamente pero cuando los mando a la vista me da errores.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public function index(){
 
  $tasks = $this->taskModel-> todays_unfinished_tasks();
  // var_dump($tasks);
  // die();
 
  $data = [
 
    'tasks'=> $tasks
  ];
 
  $this->view('pages/inicio',$data);
 
}

Esta sería la vista:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<table id="tareas">
    <tr>
        <th>Nombre</th>
        <th>Autor</th>
        <th>Descripcion</th>
        <th>Estado</th>
        <th>Prioridad</th>
    </tr>
    <!--Obtener tareas para hoy-->
    <?php foreach($data['tasks'] as $task) : ?>
    <tr>
    <td><?php echo $task->nombre; ?></td>
        <td><?php echo $task->nombre; ?></td>
        <td><?php echo $task->autor; ?></td>
        <td><?php echo $task->descripcion; ?></td>
        <td><?php echo $task->estado; ?></td>
        <td><?php echo $task->prioridad; ?></td>
    </tr>
   <?php endforeach; ?>
¿Estoy recorriendo el foreach incorrectamente?
Es que no lo veo claro...me lanza el siguiente error:
( ! ) Notice: Trying to get property 'nombre' of non-object in C:\wamp64\www\crm_mvc\app\views\pages\inicio.php on line 21

A ver si alguien puede darme alguna pista porque la verdad que despues de buscar bastante información no consigo encontrar un manuel en condiciones sobre cómo hacer consultas con pdo y sentencias preparadas con objetos.
Muchas gracias de ante mano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 30
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

obtener datos con consultas preparadas en pdo

Publicado por Manuel (12 intervenciones) el 03/05/2021 12:41:32
Antes no he puesto el modelo que sería este:
Lo he modificado y no he utilizado el prepare ya que el usuario no tiene que poner ningún dato de entrada.
He cambiado el fetch por fechAll y me ha funcionado pero según tengo entendido el fecht debería funcionarme tb ya que solo tengo una fila con esa consulta y debería mostrarse.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
public function todays_unfinished_tasks(){
    $stmt = $this->db->query("SELECT nombre,autor,descripcion,estado,prioridad FROM tareas WHERE fecha_limite = CURRENT_DATE()");
    //Especificamos el fetch mode antes de llamar a fetch()
    //$stmt->setFetchMode(PDO::FETCH_OBJ);
    //Ejecutamos la consulta
    //$stmt->execute();
 
    //Mostramos los resultado
    $data = $stmt->fetchAll(PDO::FETCH_OBJ);
 
    return $data;
 
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

obtener datos con consultas preparadas en pdo

Publicado por Mauro (1037 intervenciones) el 03/05/2021 15:11:23
Hola Manuel!

Para comenzar, podrías mostrar el código de C:\wamp64\www\crm_mvc\app\views\pages\inicio.php ?

Ahí te está marcando el error en la línea 21

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 30
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

obtener datos con consultas preparadas en pdo

Publicado por Manuel (12 intervenciones) el 03/05/2021 22:02:33
Hola Mauro, gracias por contestarme y por la recomendación del artículo de Json que tengo pendiente de leer.
Se me pasó postear el error ...una cosa simple que no debe pasar si hiciera las cosas con tranquilidad y pensándolo todo. Efectivamente la sintaxis la tenía bien lo único que no se puede recorrer con un foreah el resultado de un fetch ya que solo se obtiene una fila
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar