Botón On-Off publicar noticias
Publicado por peceyo8253 (1 intervención) el 27/08/2023 09:34:02
¡Hola a todos! A ver si podeis ayudarme.
Estoy desarrollado una web de noticias de música y para ello lo estoy haciendo en bootstrap, por un lado la parte de administración y por otro la web como tal.
Me salen publicadas todas las noticias que publico, pero lo que quiero es que a través del admin aparezca en el listado de lo publicado una columna de activar/desactivar publicación, la cual pasa un valor 0 o 1 a un campo de la base de datos, y de ese modo el contenido se verá o no en la web,
Me sale al 50% ya que si pincho en on o en off de una noticia se cambia correctamente el valor, pero sin embargo, si pincho en otra noticia me vuelve a cambiar la misma noticia de antes. Es decir, pinche el enlace que sea, siempre me va a activar o desactivar la misma. No se por que és, creo que es un tema de bucle pero no consigo encontrar la causa.
¿Alguien puede ayudarme a ver que es lo que esta mal?
Gracias por la ayuda.
Adjunto parte del código de la página de listado de consultas, y el de la actualización del registro.
LISTADO CONSULTAS:
ACTUALIZACION DEL REGISTRO:
Estoy desarrollado una web de noticias de música y para ello lo estoy haciendo en bootstrap, por un lado la parte de administración y por otro la web como tal.
Me salen publicadas todas las noticias que publico, pero lo que quiero es que a través del admin aparezca en el listado de lo publicado una columna de activar/desactivar publicación, la cual pasa un valor 0 o 1 a un campo de la base de datos, y de ese modo el contenido se verá o no en la web,
Me sale al 50% ya que si pincho en on o en off de una noticia se cambia correctamente el valor, pero sin embargo, si pincho en otra noticia me vuelve a cambiar la misma noticia de antes. Es decir, pinche el enlace que sea, siempre me va a activar o desactivar la misma. No se por que és, creo que es un tema de bucle pero no consigo encontrar la causa.
¿Alguien puede ayudarme a ver que es lo que esta mal?
Gracias por la ayuda.
Adjunto parte del código de la página de listado de consultas, y el de la actualización del registro.
LISTADO CONSULTAS:
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
46
47
48
49
50
<thead>
<tr>
<th scope="col">Ref.</th>
<th scope="col">Título</th>
<th scope="col">Subtítulo</th>
<th scope="col" width="10%">Autor</th>
<th scope="col" width="10%">Fecha</th>
<th scope="col" width="10%" style="text-align:center;">Activo</th>
</tr>
</thead>
<tbody>
<?php
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row['ID']."</td><td><b><a style='max-width: 300px;' href='c.php?r=".$row['ID']."'>".$row['Titulo']."</a></b></td><td><span>".$row['Subtitulo']."</span></td><td width='10%'>".$row['Autor']."</td><td width='10%'>".$row['Fecha']."</td><td class='text-center' width='10%'><div class='custom-control custom-switch'>";?>
<?php
$pasa_id = $row['ID'];
echo "el id es ".$pasa_id;
echo "<input type='hidden' name='input_pasa_id[]' id='input_pasa_id' value='".$pasa_id."'>";
if ($row['Activo'] == '1' ) {
//echo "encendido";
//echo "<input type='hidden' name='pasa_valor' id='pasa_valor' value='1'/>";
//echo "<a href='".htmlspecialchars($_SERVER["PHP_SELF"])."' role='button' class='btn btn-light btn-sm' name='btn_on' id='btn_on' disabled>on</a>";
//echo "<a href='".htmlspecialchars($_SERVER["PHP_SELF"])."?act=0' role='button' class='btn btn-danger btn-sm' name='btn_off' id='btn_off'>off</a>";
echo "<input type='submit' class='btn btn-success btn-sm' name='btn_on_off' value='on' id='btn_on_off' disabled>";
echo "<input type='submit' class='btn btn-danger btn-sm' name='btn_on_off' value='off' id='btn_on_off'>";
} else {
//echo "apagado";
//echo "<input type='hidden' name='pasa_valor' id='pasa_valor' value='0'/>";
//echo "<a href='".htmlspecialchars($_SERVER["PHP_SELF"])."' role='button' class='btn btn-light btn-sm' name='btn_off' id='btn_off' disabled>off</a>";
//echo "<a href='".htmlspecialchars($_SERVER["PHP_SELF"])."?act=1' role='button' class='btn btn-success btn-sm' name='btn_on' id='btn_on'>on</a>";
echo "<input type='submit' class='btn btn-light btn-sm' name='btn_on_off' value='on' id='btn_on_off'>";
echo "<input type='submit' class='btn btn-danger btn-sm' name='btn_on_off' value='off' id='btn_on_off' disabled>";
}
echo "</div></td></tr>";
?>
<input type="hidden" name="campo_id[]" id="campo_id" value="<?php echo $_SESSION['ID_rsfm'];?>">
<?php
}
echo "<table><tr><td><span class='numregistros'>hay ".$rowcount." registro/s en la base de datos.</span></td></tr></table>";
} else {
echo "<table><tr><td>No hay resultados.</td></tr></table>";
}
?>
ACTUALIZACION DEL REGISTRO:
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
<?php
if(isset($_POST['input_pasa_id'], $_POST['btn_on_off'])){ // Comprobar los valores a mandar a 'Activo'
$valor_id = $_POST['input_pasa_id'];
$valor_f = $_POST['btn_on_off'];
$contar = count($valor_id);
echo "hay ".$contar. " elementos en el array.<br />";
foreach ($valor_id as $valor) {
echo "el valor actual de ".$valor." es ".$valor_f. "<br />";
}
switch ($valor_f) {
case "on":
$sql3 = "UPDATE contenidos SET Activo = '1' WHERE ID='".$valor."'";
break;
case "off":
$sql3 = "UPDATE contenidos SET Activo = '0' WHERE ID='".$valor."'";
break;
}
if (mysqli_query($conn, $sql3)) {
$nuevo_registro = "Modificada disponibilidad de contenido";
//echo'<script type="text/javascript">alert("¡El formulario se ha enviado exitosamente!"); window.location.href="pizza.php";</script>';
//echo 'Mensaje enviado correctamente';
//echo '<script language="javascript">alert("Publicación actualizada.");</script>';
} else {
echo '<script language="javascript">alert("Error: ". $sql3 . "<br>" . mysqli_error($conn););</script>';
}
}
?>
Valora esta pregunta
0