entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

¿Cómo mostrar todas las rss de un registro?

Saludos.
Tengo una tabla mysql en phpmyadmin de secciones . Uno de los atributos es la url de la fuente rss que me interesa mostrar y otro el id del periódico al que pertenece.

Además de secciones quisiera hacer una portada de periódico donde se muestran todas las fuentes rss registradas si es posible. Tengo este código pero solo me muestra la primera fuente introducida. Gracias de antemano y perdón por las molestias:

<?php

 error_reporting(E_ALL);
 ini_set('display_errors', 1);
  $db = new mysqli('localhost', 'root', 'clave', 'usuarios');

  $id = $_GET['id'];
            // Si hay algun error en la conexion
           if($db->connect_errno > 0)
           {
             die('No se puede conectar a la base de datos [' . $db->connect_error . ']');
           }

$consultarss="SELECT rss FROM secciones WHERE id_periodico='$id'";
$resultado=mysqli_query($db,$consultarss);

echo '<ul>';
while($row=$resultado->fetch_assoc())
    $xml = simplexml_load_file($row['rss']);
{
echo '<li>'. $row['rss'] . '</li>';

print_r($xml);

}
echo'</ul>';

?>

1 Respuesta

1voto

Leonardo-Tadei Puntos227020

Hola @Iskandarina,

si no veo mal, tenés un problema con las llaves en el WHILE, que en vez de encerrar toda la salida, ejecuta solo la línea siguiente (las estructuras de repetición sin llaves funcionan, pero solo queda dentro de ellas la línea siguiente y no todo un bloque)

Debería ser:

...
echo '<ul>';
while($row=$resultado->fetch_assoc())
{ // <- llave de apertura
    $xml = simplexml_load_file($row['rss']);
    echo '<li>'. $row['rss'] . '</li>';
    print_r($xml);
} // <- llave de cierre del while
echo'</ul>';
...

Por otra parte, si bien en la documentación no encuentro un problema, la mezcla de usar MySQLi Orientado a Objetos con procedural podría estarte dando algún problema.

Podrías pasar todo a POO cambiando

$resultado=mysqli_query($db,$consultarss);

por

$resultado = $db->query($consulta);

Saludos cordiales

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta