PHP - Como poner la cantidad de puntos de la valoración por estrellas a cada articulo

 
Vista:

Como poner la cantidad de puntos de la valoración por estrellas a cada articulo

Publicado por Alejandro (2 intervenciones) el 27/11/2019 04:54:55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$not = mysqli_query($con, "SELECT * FROM entradas,categorias WHERE id = entrada_categoria AND entrada_publica = '1' ORDER BY entrada_fecha DESC LIMIT 27");
 
while($entrada = mysqli_fetch_array($not)){
$entradaid = $entrada['entrada_id'];
 
$query = mysqli_query($con, "SELECT * FROM votaciones WHERE id_entrada = '$entradaid'");
while($data = mysqli_fetch_assoc($query)){
$rate_db[] = $data;
$sum_rates[] = $data['puntos'];
}
if(@count($rate_db)){
$rate_times = count($rate_db);
$sum_rates = array_sum($sum_rates);
$rate_value = $sum_rates/$rate_times;
$rate_bg = (($rate_value)/5)*100;
}else{
$rate_times = 0;
$rate_value = 0;
$rate_bg = 0;
}

Resulta que tengo este código y quiero poner la cantidad de puntos de la valoración por estrellas a cada articulo en el index, pero solo se le pone a uno solo, ¿qué tengo que hacer?
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Como poner la cantidad de puntos de la valoración por estrellas a cada articulo

Publicado por joel (1269 intervenciones) el 27/11/2019 08:32:46
Hola Alejandro, cuesta mucho de seguir sin esta el código bien tabulado... pero parece que falta código no? o hay un while que no se cierra?
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

Como poner la cantidad de puntos de la valoración por estrellas a cada articulo

Publicado por Alejandro (2 intervenciones) el 27/11/2019 16:59:46
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
36
37
38
39
40
41
42
43
44
45
<?php
$not = mysqli_query($con, "SELECT * FROM entradas,categorias WHERE id = entrada_categoria AND entrada_publica = '1' ORDER BY entrada_fecha DESC LIMIT 27");
 
while($entrada = mysqli_fetch_array($not)){
$entradaid = $entrada['entrada_id'];
 
$query = mysqli_query($con, "SELECT * FROM votaciones WHERE id_entrada = '$entradaid'");
while($data = mysqli_fetch_assoc($query)){
$rate_db[] = $data;
$sum_rates[] = $data['puntos'];
}
if(@count($rate_db)){
$rate_times = count($rate_db);
$sum_rates = array_sum($sum_rates);
$rate_value = $sum_rates/$rate_times;
$rate_bg = (($rate_value)/5)*100;
}else{
$rate_times = 0;
$rate_value = 0;
$rate_bg = 0;
}
 
?>
<div class="col-md-4 col-sm-6 col-xs-6">
<a class="block block-rounded block-link-shadow" href="app?en=<?php echo $entrada['entrada_id']; ?>">
<div class="block-content block-content-full d-flex align-items-center justify-content-between">
<div class="item block-app-image">
<img style="border-radius:5px;object-fit:cover" src="<?php echo $entrada['entrada_portada']; ?>" width="64" height="64">
</div>
 
<div class="ml-2 text-right">
<p class="font-w600 mb-0 app-title"> <?php echo $entrada['entrada_titulo']; ?></p>
<div class="stars mb-0">
<span class="score" title="Facebook average rating" style="width: <?php echo $rate_bg; ?>%;"></span>
<span class="star"><?php echo substr($rate_value,0,3); ?></span>
</div>
<button type="button" class="block-app-download btn btn-outline-success btn-sm">
<i class="fa fa-fw fa-download mr-1"></i> Descargar</button>
</div>
</div>
</a>
</div>
<?php
}
?>
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Como poner la cantidad de puntos de la valoración por estrellas a cada articulo

Publicado por joel (1269 intervenciones) el 28/11/2019 11:07:33
Hola Alejandro, creo que te falta inicializar las variables en cada bucle...
Al inicio del bucle pon algo así:
1
2
$rate_value = 0;
$rate_bg = 0;


Es muy recomendable tabular el código, cuesta mucho de entender así!!!
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