Я хочу отображать свои результаты в виде таблицы после передачи параметра id и нажатия кнопки в моей системе управления библиотекой

0

Это мой весь код для создания отчетов для конкретного учащегося с использованием его/ее студенческого идентификатора. Мой SQL запрос покажет список книг, которые еще не были возвращены студентом....

Во время отладки я заметил, что если я вручную помещу идентификатор студента в код, я могу увидеть результаты, но функция нажатия кнопки не работает... так или иначе кнопка не берет никаких данных из моего SQL запроса и не выполняет.

<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
{   
    header('location:index.php');
}
else
{ 
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
    <meta name="description" content="" />
    <meta name="author" content="" />
    <title>
        Online Library Management System | Report Generation
    </title>
    <!-- BOOTSTRAP CORE STYLE  -->
    <link href="assets/css/bootstrap.css" rel="stylesheet" />
    <!-- FONT AWESOME STYLE  -->
    <link href="assets/css/font-awesome.css" rel="stylesheet" />
    <!-- DATATABLE STYLE  -->
    <link href="assets/js/dataTables/dataTables.bootstrap.css" rel="stylesheet" />
    <!-- CUSTOM STYLE  -->
    <link href="assets/css/style.css" rel="stylesheet" />
    <!-- GOOGLE FONT -->
    <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css' />

</head>
<body>
    <!------MENU SECTION START-->
    <?php include('includes/header.php');?>
    <!-- MENU SECTION END-->
    <div class="content-wrapper">
         <div class="container">
             <div class="row pad-botm">
                 <div class="col-md-12">
                    <h4 class="header-line">
                        Employee Reports
                    </h4>
                </div>
                <div class="row">
                    <?php if($_SESSION['error']!="")
                    {?>
                        <div class="col-md-6">
                            <div class="alert alert-danger" >
                                <strong>
                                    Error :
                                </strong> 
                                <?php echo htmlentities($_SESSION['error']);?>
                                <?php echo htmlentities($_SESSION['error']="");?>
                            </div>
                        </div>
                    <?php } ?>
                    <?php if($_SESSION['msg']!="")
                    {?>
                    <div class="col-md-6">
                        <div class="alert alert-success" >
                            <strong>
                                Success :
                            </strong> 
                            <?php echo htmlentities($_SESSION['msg']);?>
                            <?php echo htmlentities($_SESSION['msg']="");?>
                        </div>
                    </div>
                <?php } ?>

               <?php if($_SESSION['delmsg']!="")
               {?>
                   <div class="col-md-6">
                       <div class="alert alert-success" >
                           <strong>
                               Success :
                           </strong> 
                           <?php echo htmlentities($_SESSION['delmsg']);?>
                           <?php echo htmlentities($_SESSION['delmsg']="");?>
                       </div>
                  </div>
              <?php } ?>

          </div>


      </div>
      <div class="row">
          <div class="col-md-10 col-sm-6 col-xs-12 col-md-offset-1"">
              <div class="panel panel-info">    
                  <div class="panel-body">
                      <form role="form" method="post">

                          <div class="form-group">
                              <label>
                                  CPF NUMBER<span style="color:red;">*</span>
                              </label>
                              <input class="form-control" type="text" name="studentid" id="studentid"  autocomplete="off"  required />

                          </div>

                          <button type="submit" name="report" id="submit" class="btn btn-info">
                              Generate 
                          </button>

                    </form>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-12">
                <!-- Advanced Tables -->
                <div class="panel panel-default">
                    <div class="panel-heading">
                        Issued Documents
                    </div>
                    <div class="panel-body">
                        <div class="table-responsive">
                            <table class="table table-striped table-bordered table-hover" id="dataTables-example">
                                <thead>
                                    <tr>
                                        <th>#</th>
                                        <th>Employee Name</th>
                                        <th>Document Name</th>
                                        <th>Reference Number</th>
                                        <th>Issued Date</th>
                                        <th>STATUS</th>        
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php 

                                    if($query->rowCount() > 0)
                                    {
                                        foreach($results as $result)
                                        {                         

                                            if(isset($_POST['report']))
                                            {

                                                $studentid=strtoupper($_POST['studentid']);
                                                $sql = "SELECT tblstudents.FullName,tblbooks.BookName,tblbooks.ISBNNumber,tblissuedbookdetails.IssuesDate,tblissuedbookdetails.RetrunStatus,tblissuedbookdetails.id as rid from  tblissuedbookdetails join tblstudents on tblstudents.StudentId=tblissuedbookdetails.StudentId join tblbooks on tblbooks.id=tblissuedbookdetails.BookId where tblissuedbookdetails.RetrunStatus is NULL and StudentId=:studentid order by tblissuedbookdetails.id desc";
                                                $query = $dbh -> prepare($sql);
                                                $query->execute();
                                                $results=$query->fetchAll(PDO::FETCH_OBJ);

                                    ?>

                                    <tr class="odd gradeX">
                                        <td class="center"><?php echo htmlentities($cnt);?></td>
                                        <td class="center"><?php echo htmlentities($result->FullName);?></td>
                                        <td class="center"><?php echo htmlentities($result->BookName);?></td>
                                        <td class="center"><?php echo htmlentities($result->ISBNNumber);?></td>
                                        <td class="center"><?php echo htmlentities($result->IssuesDate);?></td>
                                        <td class="center">
                                            <?php if($result->RetrunStatus==NULL)
                                            {
                                                echo htmlentities("Not Returned Yet");
                                            } else {
                                                echo htmlentities("Returned");
                                            }
                                            ?>
                                        </td>
                                        <td class="center">
                                        </td>
                                    </tr>
                                    <?php $cnt=$cnt+1;}}} ?>                                      
                                </tbody>
                            </table>
                        </div>    
                    </div>
                </div>
            <!--End Advanced Tables -->
            </div>
        </div>        
    </div>
</div>
<!-- CONTENT-WRAPPER SECTION END-->
<?php include('includes/footer.php');?>
<!-- FOOTER SECTION END-->
<!-- JAVASCRIPT FILES PLACED AT THE BOTTOM TO REDUCE THE LOADING TIME  -->
<!-- CORE JQUERY  -->
<script src="assets/js/jquery-1.10.2.js"></script>
<!-- BOOTSTRAP SCRIPTS  -->
<script src="assets/js/bootstrap.js"></script>
<!-- DATATABLE SCRIPTS  -->
<script src="assets/js/dataTables/jquery.dataTables.js"></script>
<script src="assets/js/dataTables/dataTables.bootstrap.js"></script>
<!-- CUSTOM SCRIPTS  -->
<script src="assets/js/custom.js"></script>

  • 0
    Прежде всего, кнопка, которую вы использовали для создания отчета, не имеет идентификатора конкретного учащегося. Таким образом, у вас должна быть отдельная кнопка для каждой строки студента в таблице с идентификатором студента.
  • 0
    Еще одна вещь. Вы добавили заполнитель :studentid в ваш запрос SQL, но вы никогда не передавали ему никаких параметров при выполнении запроса. Это должно дать вам ошибку.
Показать ещё 8 комментариев
Теги:

1 ответ

0
Лучший ответ

Необходимо поместить studentid в значение поля ввода. Таким образом, когда form submit, он отправляет и создает отчет. Обновите следующую строку и проверьте.

<input class="form-control" type="text" name="studentid" id="studentid"  autocomplete="off"  required value="<?php echo strtoupper($_POST['studentid']); ?>" />

Ещё вопросы

Сообщество Overcoder
Наверх
Меню