PHP - Problema al cargar datos de MySQL

 
Vista:
Imágen de perfil de JetLagFox

Problema al cargar datos de MySQL

Publicado por JetLagFox (19 intervenciones) el 02/11/2016 20:38:40
Buenas,

Creo que el error es una tontería pero no acabo de encontrar el problema. El caso es que tengo una base de datos de videojuegos, y en este caso quiero cargar todos los juegos que no hayan salido. El problema es que sólo me carga los que salen en 2016, no en 2017, y por más que repaso el código no entiendo por qué no me carga tanto los de 2016 como los que salen en 2017. Por separado sí que me los carga bien en ambos casos...el código que tengo:

1
2
3
4
5
6
7
8
9
10
11
12
13
$statement = $conexion->prepare("SELECT * FROM listado_precios ORDER BY lanzamiento");
$statement->execute();
$proximos = $statement->fetchAll();
 
$statement = $conexion->query("SELECT FOUND_ROWS() as total");
$totalJuegos = $statement->fetch()['total'];
 
 
$year_actual = date('Y');
$mes_actual = date('m');
$dia_actual = date('d');
 
$meses = ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'];

Y en html:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
 
for ($i=0; $i <= $totalJuegos-1 ; $i++) {
 
    $timestamp = $proximos[$i]['lanzamiento'];
 
    $year = substr($timestamp,0,4);
    $mes = substr($timestamp,5,2);
    $dia = substr($timestamp,8,2);
 
    if ($year = $year_actual) {
        if ($mes >= $mes_actual) {
            if ($dia > $dia_actual) {
                echo  "<div class='miniescaparate'>";
                    echo "<p> Fecha de salida:</p>";
                    echo "<p class='lanzamiento'> ". $dia . " de ". $meses[$mes-1] . " de " . $year . "</p>";
                    echo "<img src='caratulas/". $proximos[$i]['thumb']. "'/>";
                    echo "<p>". $proximos[$i]['titulo'] . "</p>";
                echo "</div>";
            }
        }
    }
 
    if ($year > $year_actual) {
        echo  "<div class='miniescaparate'>";
            echo "<p> Fecha de salida:</p>";
            echo "<p class='lanzamiento'> ". $dia . " de ". $meses[$mes-1] . " de " . $year . "</p>";
            echo "<img src='caratulas/". $proximos[$i]['thumb']. "'/>";
            echo "<p>". $proximos[$i]['titulo'] . "</p>";
        echo "</div>";
    }
 
}
 
?>


He recorrido el código unas cuantas veces pero no entiendo el motivo por el cual no entra en el segundo if. He probado también con "elseif" pero sigue sin funcionar.
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
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema al cargar datos de MySQL

Publicado por xve (6935 intervenciones) el 03/11/2016 07:19:56
Hola, creo que tu problema esta en esta comparación:

1
if ($year = $year_actual) {
tendria que ser así:
1
if ($year == $year_actual) {

Coméntanos, ok?
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
Imágen de perfil de JetLagFox

Problema al cargar datos de MySQL

Publicado por JetLagFox (19 intervenciones) el 03/11/2016 12:15:29
Muchísimas gracias, efectivamente ése era el problema. Lo que no entiendo es el motivo por el que no me sale error de sintaxis, no es la primera vez que me pasa que lo pongo mal.
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