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="" />

但是,我如何以 oop 方式显示 $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 和 oop 的新手,所以对我来说很容易:)

谢谢

4

3 回答 3

3

如果您只计划返回一行,那么为什么不使用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 回答