使用php mysqli

时间:2016-01-10 06:59:07

标签: php mysqli

我正在尝试显示人员列表。点击列表后,必须显示有关此人的更多详细信息。

members.php: - 列出所有成员的页面

<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <h1>Our members are</h1>
    <?php 
    include 'config.php';
    session_start();
    $sql = "SELECT name from users";
    $result = $conn->query($sql);
    echo '<table>';
    if($result->num_rows > 0)
    {
        while($row = $result->fetch_assoc())   
                        {
                             echo '<tr>';
                             $_SESSION['selection'] = $row['name'];
                             echo '<td><a href = "view.php">'.$row['name'].'</a></td>'; 
                             echo '</tr>';
                        }
    }
    echo '</table>';
    $conn->close();
    ?>
</body>

view.php-显示更多详细信息的页面:

<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <?php
    include 'config.php';
    session_start();
    $pkey = $_SESSION['selection'];
    $new = "SELECT * FROM users where name = '$pkey'";
    $display = $conn->query($new);
    $result = $display->fetch_assoc();
    echo 'Name:'.$result['name'];
    echo 'Rollno:'.$result['rool_no'];
    echo 'Description:'.$result['description'];

    $conn->close();
    ?>
</body>

在使用会话时,始终显示列表中最后一个人的详细信息。 如何显示相应的细节??

1 个答案:

答案 0 :(得分:1)

最后你要在会话变量中保存姓氏$ _SESSION [&#39; selection&#39;] = $ row [&#39; name&#39;];所以你得到了姓氏。while循环结束姓氏,你把它保存在session.you没有使用session作为数组知道。

我的建议不是使用会话。这里不需要会话。

while($row = $result->fetch_assoc())   
                        {
                             echo '<tr>';
                             $_SESSION['selection'] = $row['name'];
                             echo '<td><a href = "view.php">'.$row['name'].'</a></td>'; 
                             echo '</tr>';

          }

更改members.php中的这些行

 while($row = $result->fetch_assoc())   
                    {
                         echo '<tr>';
                         echo '<td><a href = "view.php?name=$row['name']">'.$row['name'].'</a></td>'; 
                         echo '</tr>';
                    }

并在view.php中更改这些行

<body>
<?php
include 'config.php';
session_start();
$pkey = $_REQUEST['name'];//change this line alone
$new = "SELECT * FROM users where name = '$pkey'";
$display = $conn->query($new);
$result = $display->fetch_assoc();
echo 'Name:'.$result['name'];
echo 'Rollno:'.$result['rool_no'];
echo 'Description:'.$result['description'];

$conn->close();
?>