2019-05-22 17:59 阅读 68


I have two pages students_list.php and students_profile.php

On students_list.php i have a table showing all records of all students and the VIEW button which when clicked it should open the students_profile.php page and get all the data from the single record selected based on the std_id

UPDATE: So now i get the id http://localhost/sms/student_profiles.php?std_id=3 when i click on the VIEW button but i am still not retrieving the data from this record selected

This is the code for students_list.php

require_once 'include/database/connect.php';

try {
    $pdo = new PDO("mysql:host=$host_db;dbname=$name_db", $user_db, $pass_db);                                 
    $sql = 'SELECT * FROM students';
    $q = $pdo->query($sql);
    } catch (PDOException $e) {
    die("Could not connect to the database $name_db :" . $e->getMessage());
<table id="data-table-default" class="table">
    <th width="1%">#</th>
    <th width="1%" data-orderable="false"></th>
    <th>Name & Surname</th>

    <?php while ($row = $q->fetch()): ?>
    <tr class="odd gradeX">
    <td width="1%" class="f-s-600 text-inverse"><?php echo ($row['std_id']) ?></td>
    <td width="1%" class="with-img"><?php echo ($row['std_status']) ?></td>
    <td><?php echo ($row['std_name']) ?></td>
    <td><?php echo ($row['std_gender']) ?></td>
    <td><?php echo ($row['std_faculty']) ?></td>
    <td><?php echo ($row['std_semester']) ?></td>
    <td><?php echo ($row['std_mobile']) ?></td>
    <td align="right">
    <a href="student_profiles.php?std_id=<?php echo $row['std_id']; ?>" class="btn btn-warning btn-xs"><i class="fas fa-eye"></i> View</a>
    <?php endwhile; ?>

and below this is the student_profile.php

if(isset($_GET) & !empty($_GET)){
    $std_id = $_GET['std_id'];
    $sql = "SELECT * FROM `students` WHERE std_id=$std_id";
    $res = mysqli_query($connection, $sql);

<h4><?php echo ($row['std_name']) ?></h4>

<div class="d-flex">
    <div class="pr-4"><strong>NATIONAL#</strong> <?php echo ($row['std_number']) ?></div>
    <div class="pr-4"><strong>DOB</strong> <?php echo ($row['std_dob']) ?></div>
    <div class="pr-4"><strong>GENDER</strong> <?php echo ($row['std_gender']) ?></div>
    <div class="pr-4"><strong>MOBILE</strong> <?php echo ($row['std_mobile']) ?></div>
<div class="pt-1 font-weight-bold">Master's Degree (MBA)</div>
<div>STD# <strong><?php echo ($row['std_id']) ?></strong></div>
<div><a href="#" target="new">email@example.com</a></div>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    dsndm82062 dsndm82062 2019-05-23 15:09

    You don't fecth the data from the query. So $row will never contain the array you expect:

    $row = mysqli_fetch_assoc($res); //this will populate $row

    in your code:

    if(isset($_GET) & !empty($_GET)){
        $std_id = $_GET['std_id'];
        $sql = "SELECT * FROM `students` WHERE std_id=$std_id";
        $res = mysqli_query($connection, $sql);
        $row = mysqli_fetch_assoc($res);
    点赞 评论 复制链接分享