Search code examples
phphtmlmysqlrssfeed

Mysql and PHP to display all user data in a html list


I have an issue, I'm creating a RSS feed script, although it's only displaying the data all in one row, for example: MorganJonesMaleYasserkhattak Rather than

Morgan Jones Male

Yasser Khattak

I'm unsure of how to display the data in a Html file so I can display it with CSS style.

Here is my current script:

<?php

// PDO connect *********
function connect() {
    return new PDO('mysql:host=localhost;dbname=pdo_ret', 'root', 'Af2vaz93j68', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}

$pdo = connect();

// posts *******************************
$sql = 'SELECT * FROM users ORDER BY id DESC';
$query = $pdo->prepare($sql);
$query->execute();
$rs_post = $query->fetchAll();

// The XML structure
$data = '<html lang="en">';
$data .= '<rss version="2.0">';
$data .= '<channel>';
foreach ($rs_post as $row) {
    $data .= '<item>';
    $data .= '<firstname>'.$row['firstname'].'</firstname>';
    $data .= '<lastname>'.$row['lastname'].'</lastname>';
    $data .= '<gender>'.$row['gender'].'</gender>';
    $data .= '</item>';
}
$data .= '</channel>';
$data .= '</rss> ';

?>

<html>
<h1><b><echo><?= $data ?></echo></b></h1>
</html>

Solution

  • Ahm, echo tags doesn't exists. To display it as pre-formatted HTML, you can use the <pre> tag:

    <h1><b><pre><?php echo $data ?></pre></b></h1>