Daksh B
Daksh B

Reputation: 262

Passing retrieved database records to a php file

system/article.php

<?php 

$sql = "SELECT articleTitle, articleSummary, articleContent FROM articles";
$result = $dbconnect->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo $row["articleTitle"];
        echo $row["articleSummary"];
        echo $row["articleContent"];
    }
} else {
    echo "0 results";
}

include 'template/homepage.php';

retrieves articles from the article table.

I have included the homepage.php which is supposed to act as a template.

template/homepage.php

<?php include 'template/common/header.php'; ?>

  <h1>Article Title here</h1>
  <p>articleSummary</p>

<?php include 'template/common/footer.php'; ?>

How do I now pass the retrieved data to the homepage.php to display it on the browser ?

Edit

smarber pointed me to

In the first file:

global $variable;
$variable = "apple";
include('second.php');

In the second file:

echo $variable;

which works. But how do I implement the same with my problem up top?

Upvotes: 2

Views: 113

Answers (2)

someOne
someOne

Reputation: 1675

Well then, you may do the following:

change the template/homepage.php file to:

<?php
include 'template/common/header.php';

echo "<h1>$articleName</h1>";
echo "<p>$articleSummary</p>";

include 'template/common/footer.php';
?>

and change the system/article.php to:

<?php 
global $articleName;
global $articleSummary;
global $articleContents;

$sql = "SELECT articleTitle, articleSummary, articleContent FROM articles";
$result = $dbconnect->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $articleName = $row["articleTitle"];
        $articleSummary = $row["articleSummary"];
        $articleContents = $row["articleContent"];

        include 'template/homepage.php';
    }
} else {
    echo "0 results";
}

However, It's so better to create a cleaner and more reusable code using some facilities you have in the programming language, like using functions and classes :)

Upvotes: 0

someOne
someOne

Reputation: 1675

You may do that via GET, Session or Post; But why don't you simply and efficiently define a function and pass those variables to it, just for example:

function displayArticle($title, $summary, $content) {
    displayHeader(); // maybe some concepts you've used in template/common/header.php
    echo "<h1>$title</h1><p>$summary</p><div>$content</div>";
    displayFooter(); // again, what you've provided in footer.php
}

Upvotes: 1

Related Questions