如何在单击链接时显示来自数据库的成员请求信息

时间:2016-03-29 16:32:51

标签: php sql database mysqli notifications

我有一个通知页面。这是我的通知代码:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "testdb";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM notification ORDER BY date desc";
$result = $conn->query($sql);
?>
<table>
    <thead>
    <tr style="background-color: #eee">
        <th width="20%">Activity</th>
        <th width="40%">Description</th>
        <th width="20%">Date</th>
        <th width="20%">Action</th>
    </tr>
    </thead>
     <tbody>
    <?php
        if ($result->num_rows > 0) {
            // output data of each row
            while($row = $result->fetch_assoc()) {
                    echo '<tr>';
                    echo '<td width="20%">'.$row['activity'].'</td>';
                    echo '<td width="40%">'.$row['description'].'</td>';
                    echo '<td width="20%">'.$row['date'].'</td>'; 
                    ?>
                    <td><a href="/test/admin/requests.php?view_id=<?php echo $row['id']; ?>" >VIEW</a></td>
                    <?php echo '</tr>';

        }
                  //  echo '<td width="20%">'.$row['date'].'</td>';
                  //  echo '</tr>';
        }
         else {
            echo "You have no notifications yet";
        }
        $conn->close();

        $conn=mysql_connect("localhost", "root");
        mysql_select_db("testdb", $conn);
        if (! $conn){
            DIE('Could not connect: ' . mysql_error());
        }
        $query="UPDATE notification set status ='read'";
        $retval = mysql_query( $query, $conn );

    ?>  
    </tbody>

</table>

输出: Output

VIEW链接背后的代码是:

<td><a href="/test/admin/requests.php?view_id=<?php echo $row['id']; ?>" >VIEW</a></td>

现在,例如,我点击&#34; NEW MEMBERSHIP REQUEST&#34;中的VIEW链接。 (请参阅照片),URL将引导我到该链接,它应该是我需要查看或显示该特定成员的信息。这就是我的问题所在,因为每当我点击点击时,信息都不会显示在页面上,但URL会提供该成员的正确ID号。

此代码是单击链接时应显示该特定成员的信息的页面。但它只显示正确的身份证号码。请帮帮我。

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "testdb";


// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

if(isset($_GET['id']))
{
    $id=$_GET['id'];

    $sql = ("SELECT * FROM requests where id = ".$id);
    $result = $conn->query($sql);
    $row=mysqli_fetch_array($result,MYSQLI_ASSOC);

?>  
<?php echo  $id ?>

<br/>Name: <?php echo $row['name'] ?>
<br/>Age: <?php echo $row['age'] ?>
<br/>Date of Birth: <?php echo $row['dob'] ?>
<br/>Occupation: <?php echo $row['occupation'] ?>


<?php
}
?>

姓名,年龄,出生日期和职业是我所说的数据的例子,并没有显示出来。但没有错误。请,我希望有人能帮助我。

附加:

  

我的通知表有6个字段:

     

id,user,activity,desc,status,date

     

请求表有5个字段:   id,姓名,职业,dob,年龄

当用户提交其会员表时,他输入的详细信息如姓名,职业,dob和年龄将被插入请求表,同时它将通知管理员通知表/页。现在,当我单击该链接时,显示的ID是来自通知的ID,而不是来自存储其数据的请求的ID。所以我想这就是我的错误所在。而我才意识到这一点。希望你仍然可以帮助我弄清楚如何从请求表中获取该id。我希望我能很好地解释我的问题。我明白你们是否理解它们。感谢那些帮助过的人和那些能帮助我的人。 :)

2 个答案:

答案 0 :(得分:0)

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "testdb";


// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

if(isset($_GET['id']))
{
    $id=$_GET['id'];

    $sql = "SELECT * FROM requests where id ='$id' ";
    $result = $conn->query($sql);
    $row=mysqli_fetch_array($result,MYSQLI_ASSOC);

?>  
<?php echo  $id ?>

<br/>Name: <?php echo $row['name'] ?>
<br/>Age: <?php echo $row['age'] ?>
<br/>Date of Birth: <?php echo $row['dob'] ?>
<br/>Occupation: <?php echo $row['occupation'] ?>


<?php
}
?>

答案 1 :(得分:-1)

您正在使用程序方法混合OOP。使用其中任何一个。如果您使用OOP,请不要使用此:

$row=mysqli_fetch_array($result,MYSQLI_ASSOC);

应该是

$row=$result->fetch_array(MYSQLI_ASSOC);