Ayuda con un código php de menú dinámico
Publicado por Daniel (9 intervenciones) el 05/08/2021 06:29:42
Hola, necesito si alguien me puede ayudar, estoy aprendiendo a programar, y estoy tratando de hacer un menú dinámico, donde yo cargue las categorías y me vayan apareciendo en el menú. Eso ya lo logre y este es el código para el menú:
Con este función hacemos la consulta a la base de datos:
Ahora el problema que tengo es que como hago para que cuando seleccione en el menú la categoría solo me muestre las noticias de esa categoría seleccionada. Tengo el siguiente código pero me nuestra todas las categoría
Y Con esta función hacemos la consulta a la base de datos:
Pero como dije anteriormente me muestra todas las categoría no la seleccionada. Desde ya muchas gracias por su ayuda.
1
2
3
4
5
6
7
8
9
10
11
12
13
<nav>
<ul>
<li><a href="index.php" id="enlaces">Inicio</a></li>
<?php
$dataSet = obtenerMenu();
foreach ($dataSet as $i => $row){
?>
<li><a href="vercategoria.php?id=<?php echo $row["categoria_id"];?>" id="enlaces"><?php echo $row["categoria"];?></a></li>
<?php
}
?>
</ul>
</nav>
Con este función hacemos la consulta a la base de datos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function obtenerMenu()
{
$mensaje='';
$dataSet=array();
$nroFilasRetornadas=0;
$miQuery = new Conexion();
if($miQuery->conectar())
{
$miQuery->query = " SELECT * FROM categoria WHERE estatus = 1 ORDER BY categoria_id ASC LIMIT 0, 7";
if($miQuery->executeQuery()){if($miQuery->nroFilasRetornadas>0){$dataSet=$miQuery->dataSet; $nroFilasRetornadas=$miQuery->nroFilasRetornadas;}}
$miQuery->cerrar_conexion();
}else{$mensaje=$miQuery->error;}
return $dataSet;
}
Ahora el problema que tengo es que como hago para que cuando seleccione en el menú la categoría solo me muestre las noticias de esa categoría seleccionada. Tengo el siguiente código pero me nuestra todas las categoría
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$dataSet = obtenerNoticias();
$i = 0;
foreach ($dataSet as $i => $row){
$r = $i % 3;
echo '<td valign="top">';
echo '<p style="font-size: 16px">'.$row['categoria'].'</p>';
echo '<img src="img_noticias/'.$row['foto'].'">';
echo '<a href=vernoticias.php?id='.$row['noticias_id'].'><h1>'.$row['titulo'].'</h1></a>';
echo '<p style="font-size: 16px">'.$row['copete'].'</p>';
echo '</td>';
if ($i > 0 && $r == 2) {
echo '</tr>';
echo '<tr>';
}
$i++;
}
?>
Y Con esta función hacemos la consulta a la base de datos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function obtenerNoticias()
{
$mensaje='';
$dataSet=array();
$nroFilasRetornadas=0;
$miQuery = new Conexion();
if($miQuery->conectar())
{
$miQuery->query = "SELECT n.noticias_id, n.titulo, n.copete, n.foto, c.categoria FROM noticias n INNER JOIN categoria c ON n.categoria = c.idcat WHERE c.idcat = c.idcat ORDER BY n.noticias_id DESC LIMIT 50";
if($miQuery->executeQuery()){if($miQuery->nroFilasRetornadas>0){$dataSet=$miQuery->dataSet; $nroFilasRetornadas=$miQuery->nroFilasRetornadas;}}
$miQuery->cerrar_conexion();
}else{$mensaje=$miQuery->error;}
return $dataSet;
}
Pero como dije anteriormente me muestra todas las categoría no la seleccionada. Desde ya muchas gracias por su ayuda.
Valora esta pregunta


0