Невозможно отобразить заголовки сообщений с таблицами SQL - PullRequest
1 голос
/ 24 августа 2011

Я пытаюсь отобразить список заголовков на странице изменения / удаления.Они загружаются нормально, так как я получаю правильное количество строк, но по какой-то причине я не могу напечатать текст.

Вот функция, которая соответствует проблеме.

function manage_content()
{
    echo '<div id="manage">';
    $sql = "SELECT * FROM content";
    $res = mysql_query($sql) or die(mysql_error());
    while($row = mysql_fetch_assoc($res)): ?>
        <div>
            <h2 class="title"><?php $row['title'] ?></h2>
            <span class="actions"><a href="#">Edit</a> | <a href="#">Delete</a></span>
    </div>  <?php
    endwhile;
    echo '</div>'; //End of Manage Div

}

И этоэто полный код:

<?php

class blog {
    private $host;
    private $username;
    private $password;
    private $db;
    private $link;

    public function __construct($host, $username, $password, $db){
        $this->db = $db;
        $this->link = mysql_connect($host, $username, $password, $db);
        mysql_select_db($this->db, $this->link) or die (mysql_error());
    }


    function get_content($id=''){
    if($id !=NULL):
        $id = mysql_real_escape_string($id);
        $sql = "SELECT * FROM content WHERE id = '$id'";
        $return = '<p><a href="index.php">Vover al Indice</a></p>';
    else:
        $sql = "SELECT * FROM content ORDER by id DESC";
    endif;

    $res = mysql_query($sql) or die (mysql_error());

    if(mysql_num_rows($res) !=NULL):
    while($row = mysql_fetch_assoc($res)){
        echo '<h1><a href="index.php?id='.$row['id'].'">'.$row['title'].'</a></h1>';
        echo '<p>'.$row['body'].'</p>';
        }
    else:
        echo '<p>Oops, post not found!</p>';
    endif;
    if(isset($return)){
        echo $return;
        }
    }

    function add_content($p){
        $title = mysql_real_escape_string($p['title']);
        $body = mysql_real_escape_string($p['body']);

        if(!$title OR !$body):
            if(!$title):
                echo "<p>You have to fill the title.</p>";
            endif;
            if(!$body):
                echo "<p>You have to fill the body.</p>";
            endif;
            echo '<p><a href="add-content.php">Try again!</a></p>';
            else:
                $sql = "INSERT INTO content VALUES (null, '$title', '$body')";
                $res = mysql_query($sql) OR DIE (mysql_error());
                echo "Added sucessfully!";
            endif;

    }

    function manage_content()
    {
        echo '<div id="manage">';
        $sql = "SELECT * FROM content";
        $res = mysql_query($sql) or die(mysql_error());
        while($row = mysql_fetch_assoc($res)): ?>
            <div>
                <h2 class="title"><?php $row['title'] ?></h2>
                <span class="actions"><a href="#">Edit</a> | <a href="#">Delete</a></span>
        </div>  <?php
        endwhile;
        echo '</div>'; //End of Manage Div

    }

}// End of Class
?>

1 Ответ

1 голос
/ 24 августа 2011

Вы забыли echo в вашей функции manage_content():

<?php $row['title'] ?>

Должно быть:

<?php echo $row['title']; ?>

В любом случае это часть проблемы.

...