0

これは私のコードです。

index.php ファイル:

$viewer_id = $_SESSION['viewer_id'];
    $db = new Database('144.76.6.45','5432','3331','asd','31sd23');
    $db->querySelect("SELECT * FROM users WHERE vk_id = $viewer_id");
    $row = $db->STH->fetch();
    if(empty($row)){
        require 'template/default/not_logged.php';
    }
    else {
        require 'template/default/logged.php';
    }

この部分は理解できます。データベースに接続し、クエリを実行しています。ビューアの ID が db にある場合 - Logged.php そうでない場合 - not_logged.php

視聴者IDがすでにデータベースにあるとしましょう。

Logged.php ファイル:

<div id="text-right">
                            <p>Игровой ник: <?php $user->getEuName(); ?></p>
                            <p>Cоциум: <?php $user->getSociety(); ?></p>
                            <p>Основная профессия: <?php $user->getMainProfession(); ?></p>
                            <p>Дополнительная информация: <?php $user->getNotes(); ?></p>
                            <p>Ищу команду для совместной охоты: <?php $user->getWantTeam(); ?></p>
                        <div class="edit-info"><a href="#">Редактировать</a></div>
                        </div>

このメソッドは、db から情報を取得しています。

class User extends Database {
    public $vk_id;
    public $eu_name;
    public $eu_society;
    public $eu_notes;
    public $eu_want_team;
    public $eu_data;

    function __construct() {
    parent::__construct('144.76.6.45','5432','eu','eu','eu123');
    }

    function getEuName() {
        $this->querySelect("SELECT eu_name FROM users WHERE vk_id = $this->viewer_id");
        $row = $this->STH->fetch();
        print '<b>'.$row['eu_name'].'</b>';
    }

    function getSociety() {
        $this->querySelect("SELECT eu_society FROM users WHERE vk_id = $this->viewer_id");
        $row = $this->STH->fetch();
        print '<b>'.$row['eu_society'].'</b>';
    }

    function getNotes() {
        $this->querySelect("SELECT eu_notes FROM users WHERE vk_id = $this->viewer_id");
        $row = $this->STH->fetch();
        print '<b>'.$row['eu_notes'].'</b>';
    }

    function getWantTeam() {
        $this->querySelect("SELECT eu_want_team FROM users WHERE vk_id = $this->viewer_id");
        $row = $this->STH->fetch();
        if($row['eu_want_team'] == 'TRUE') {
            print '<b>Да</b>';
        }
        else {
            print '<b>Нет</b>';
        }
    }

    function getMainProfession() {
        $this->querySelect("SELECT eu_main_profession FROM users WHERE vk_id = $this->viewer_id");
        $row = $this->STH->fetch();
        print '<b>'.$row['eu_main_profession'].'</b>';
    }

}
$user = new User();

そして、これはgetメソッドを持つユーザークラスです。

すべて問題ありませんが、ビューアーがページに来ると、メソッドのデータ (クエリ結果) が表示されず、リロード後にのみ表示されます! 何が問題なのかわからない。解決してください。

ありがとう!

4

0 に答える 0