0

ユーザー固有のデータを HTML 形式 (テキスト フィールドまたは選択リスト) で表示したい

クラス MyClass に関数 ShowUserInformation() があります。

function ShowUserInformation()
{
    $query = "SELECT id, name, email FROM saloni WHERE id = '$_SESSION[ID_korisnika]'";
    $result = mysql_query($query);
    while($row=mysql_fetch_array($result)):
        $id= $row['id'];
        $name= $row['name'];
        $email = $row['email'];
        $address= $row['address'];
        $address2= $row['address2'];
        $address3= $row['address3'];
    endwhile;   

    return $result;
}   

私の質問は: $name、または $email、$id の値をテキスト ボックスまたは選択リストの別のページに表示するにはどうすればよいですか?

手続き的な方法でそれを行うと、これを行うと機能します:

<input type="text" value="<?php echo $name ?>" name="name" class="" />

しかし、どうすれば $name,$email,$ID... を表示できますか? クラス変数として宣言せずに直接呼び出してから呼び出す方法はありますか。ファイルをインクルードし、オブジェクトを作成しました...

$my_class = new MyClass; //create an object of class

HTML - 私はこのようなことを試しました...

<input type="text" value="<?php echo $my_class->ShowUserInformation($name)?>" name="name" class="" />

私はPHPが初めてなので、簡単に教えてください:)

ありがとうございました

4

3 に答える 3

3

1つの行のみが返されることを計画している場合は、mysql_fetch_assoc()を使用してみませんか。

class MyClass{
    public function GetUserInformation(){
        $query = "SELECT id, name, email FROM saloni WHERE id = '$_SESSION[ID_korisnika]'";
        $result = mysql_query($query);
        $info = mysql_fetch_assoc($result);
        return $info;
    } 
}

$class = new MyClass;
$info = $class->GetUserInformation();?>

<input type="text" value="<?php echo $info['id']?>" name="id" class="" />
<input type="text" value="<?php echo $info['name']?>" name="name" class="" />

注: mysql_ *関数は非推奨であり、MySQLiまたはPDOの使用に移行する必要があります

于 2012-12-02T20:07:02.993 に答える
1

まず、関数を変更してデータを取得します。

function ShowUserInformation()
{
    // Assuming you need only one user, I have set "LIMIT" to "1"
    $query = "SELECT id, name, email, address, address2, address3 FROM saloni WHERE id = '$_SESSION[ID_korisnika]' LIMIT 1";
    $result = mysql_query($query);

    return mysql_fetch_array($result);
}

次に、情報を取得します。

$my_class = new MyClass;
$userData = $my_class->ShowUserInformation();

// HTML
<input type="text" value="<?php echo $userData['name']; ?>" name="name" class="" />
于 2012-12-02T20:04:26.893 に答える
1

親切にこれを試してください:

<?php  
$show_info=ShowUserInformation();  

$data = $show_info->fetchAll(PDO::FETCH_ASSOC);  
foreach($data as $row){ ?>
<input type="text" value="<?php  $row['name']; ?>" name="name" class="" />
<?php } ?>

また

<?php $show_info=ShowUserInformation();  
while ($row= mysql_fetch_assoc($show_info){ ?>
<input type="text" value="<?php  $row['name']; ?>" name="name" class="" />
<?php } ?>
于 2012-12-02T20:32:10.280 に答える