嗨,大家好,我是php的新手,想知道有没有一种更干净的方法可以从数据库中检索数据并在网页的不同部分显示它们?

例如看我当前的代码...

<?php
$result = mysqli_query($mysqli,"SELECT * FROM members WHERE email='".$_SESSION['email']."'");
while($row = mysqli_fetch_array($result)){
   if($_SESSION['email'] == $row['email']) {
        // If you find the right user with the same E-Mail address, DO SOME COOL THINGS :)
   }
   echo '<h2>'. $row['username'] . '</h2>' ;
   echo 'Hi, I am a ' . $row['yourage'] . ' year old ' . $row['orientation'] . ' ' . $row['gender'] . ' looking for a ' . $row['lookingfor'] . '.<br /><br />';
   echo 'I am currently living in the ' . $row['location'] . ' area.';
   echo '<button>Get in touch</button>' . '<br>';
   echo '<br /><br />';
   echo '<hr />';
   echo '<h2>About me:</h2>';
   echo $row['aboutme'] . '<br>';
}
mysqli_close($mysqli);
?>


如果我在页面上再次复制它会杀死脚本,但想知道最佳实践是什么?

最佳答案

首先,一种更好的方法是例如通过使用MVC框架(例如CakePHP)来分离数据库和查看代码。

但是,如果要采用与您相似的方式,这是我会做的事情:(您仅从数据库中选择一个结果,如果选择了多个结果,则情况会有所不同。)
在页面顶部:

<?php
$email = $_SESSION['email'];
$result = mysqli_query($mysqli,"SELECT * FROM members WHERE email='".$email."'");
while($row = mysqli_fetch_array($result)){
   $member = $row;
}
mysqli_close($mysqli);
?>


然后只要您需要在页面中显示数据:(例如)

My username is <?php echo $member['username']; ?>

10-02 10:51
查看更多