繁体   English   中英

单击视图按钮时,php html仅返回一组数据记录

[英]php html return only one set of data records when clicking the view button

我需要系统仅显示用户单击的“分钟”集,而不显示当前用户所涉及的每分钟。

在我单击“图像”以查看一组分钟的那一刻,它会打印出用户所涉及的每一分钟,我只需要打印出该分钟并能够编辑一组特定的分钟...编辑功能有效,但我只需要它可以打印出用户单击的内容,而不是每组内容。.请所有人能帮上忙,我已经花了一整天了,不知道如何使它起作用。

以下是在minutes.php页面中显示php和查询的代码,当您单击“视图”的图像时,它将带您进入“ viewstudentminutes.php”页面,我只希望它打印出您单击的时间并非每套。

<?php

    session_start();
    if (!(isset($_SESSION["sess_username"]))) header ("Location: index.php");
    $currentUser=$_SESSION["sess_username"];    


$dbQuery = $db->prepare("select * from minute where '$currentUser'=B_number ");
$dbQuery->execute();

$numMinutes = $dbQuery->rowCount();

echo "<p>There are $numMinutes sets of minutes in the system</p>";

$oddRow=true;
while ($dbRow = $dbQuery->fetch(PDO::FETCH_ASSOC)) {
    $ID       = $dbRow['ID'];
    $B_number = $dbRow['B_number'];
    $Date  = $dbRow['Date'];
    $Time  = $dbRow['Time'];
    $Discussion = $dbRow['Discussion'];
    $Actions = $dbRow['Actions'];
    $Dateofnextmeeting = $dbRow['Dateofnextmeeting'];
    $Status = $dbRow['Status'];
    $E_number = $dbRow['E_number'];
    $Supervisor_comments = $dbRow['Supervisor_comments'];


    if ($oddRow) $rowClass="odd"; else $rowClass="even";
    $oddRow=!$oddRow;

    if (isset($_POST['editMinuteID']) && $_POST['editMinuteID']==$ID) {
        echo "<tr class='$rowClass '>
              <form style='display:inline' method='post' action='minutes.php'>
                <input type='hidden' name='editCommitID' value='$ID'>
                <td><input type='varchar' name='editB_number' value='$B_number'></td>
                <td><input type='date' name='editDate' value='$Date'></td>
                <td><input type='time' name='editTime' value='$Time'></td>
                <td><input type='text' name='editDiscussion' value='$Discussion'></td>
                <td><input type='text' name='editActions' value='$Actions'> </td>
                <td><input type='date' name='editDateofnextmeeting'  value='$Dateofnextmeeting'></td>
                <td><input type='enum' name='editStatus' value='$Status'> </td>
                <td><input type='varchar' name='editE_number' value='$E_number'></td>
                <td><input type='text' name='editSupervisor_comments' value='$Supervisor_comments'></td>
                <td colspan='2'><input type='image' src='edit.png'>
             </form>
             </tr>";      
    } else {

        echo "<tr class='$rowClass'><td>$B_number</td><td>$Date</td> <td>$Time</td><td>$Discussion</td><td>$Actions</td><td>$Dateofnextmeeting</td> <td>$Status</td><td>$E_number</td><td>$Supervisor_comments</td>
        echo "<tr class='$rowClass'><td>$B_number</td><td>$Date</td><td>$Time</td><td>$Discussion</td><td>$Actions</td><td>$Dateofnextmeeting</td><td>$Status</td><td>$E_number</td><td>$Supervisor_comments</td>
                  <td class='operation'>
                     <form class='display:inline' method='post' action='viewstudentminutes.php'>
                     <input type='hidden' name='editMinute_ID' value='$ID'>
                     <input type='image' src='edit.png' style='padding-top:7px'>
                     </form></td>
                  <td class='operation'>
                     <form class='display:inline' method='post'  action='minutes.php'   
                           onsubmit='return confirm(\"Are you sure?\")'>
                     <input type='hidden' name='deleteMinuteID' value='$ID'>
                     <input type='image' src='delete.png' style='padding-top:7px'>
                     </form></td>
                     <td class='operation'>
                     <form class='display:inline' method='post' action='viewstudentminutes.php'   
                           onsubmit='viewstudentminutes.php'>
                     <input type='image' src='view.png' style='padding-top:7px'>

                     </form></td>
              </tr>";
    }         
}


?>

以下是尝试编辑会议记录集时“ viewstudentminutes.php”的代码

<h2>Minutes</h2>
<table class="table table-condensed">
<?php 


$dbQuery= $db->prepare("SELECT * FROM `Minute` WHERE `B_number` = '" .     $currentUser . "' AND `id` = " . $_POST['Minute_ID']);
$dbQuery->execute();


$oddRow=true;
while ($dbRow = $dbQuery->fetch(PDO::FETCH_ASSOC)) {
    $ID       = $dbRow['ID'];
    $B_number = $dbRow['B_number'];
    $Date  = $dbRow['Date'];
    $Time  = $dbRow['Time'];
    $Discussion = $dbRow['Discussion'];
    $Actions = $dbRow['Actions'];
    $Dateofnextmeeting = $dbRow['Dateofnextmeeting'];
    $Status = $dbRow['Status'];
    $E_number = $dbRow['E_number'];
    $Supervisor_comments = $dbRow['Supervisor_comments'];


    if ($oddRow) $rowClass="odd"; else $rowClass="even";
    $oddRow=!$oddRow;

    if (isset($_POST['editMinuteID']) && $_POST['editMinuteID']==$id) {
        echo "<tr class='$rowClass'>
              <form style='display:inline' method='post' action='viewstudentminutes.php'>
                <input type='hidden' name='editCommitID' value='$ID'>
                 <tr><td colspan='2'><input type='image' src='edit.png'>    </tr>
                 <tr><th>BNumber</th><td><input type='varchar' name='editB_number' value='$B_number'></td></tr>
                <tr><th>Date</th><td><input type='date' name='editDate' value='$Date'></td></tr>
                <tr><th>Time</th><td><input type='time' name='editTime' value='$Time'></td></tr>
                <tr><th>Discussion</th><td><input type='text' name='editDiscussion' value='$Discussion'></td></tr>
                <tr><th>Actions</th><td><input type='text' name='editActions' value='$Actions'></td></tr>
                <tr><th>Date of Next Meeting</th><td><input type='date' name='editDateofnextmeeting' value='$Dateofnextmeeting'></td></tr>
                <tr><th>Status</th><td><input type='enum' name='editStatus' value='$Status'></td></tr>
                <tr><th>E Number</th><td><input type='varchar' name='editE_number' value='$E_number'></td></tr>
                <tr><th>Supervisor Comments</th><td><input type='text' name='editSupervisor_comments' value='$Supervisor_comments'></td></tr>

             </form>
             </tr>";      
    } else {
        echo "<tr class='$rowClass'>
                <td class='operation'>
                     <form class='display:inline' method='post' action='viewstudentminutes.php'>
                     <input type='hidden' name='editMinute_ID' value='$ID'>
                     <input type='image' src='edit.png' style='padding-top:7px'>
                     </form></td>
                <tr><th>BNumber</th><td>$B_number</td></tr>
                <tr><th>Date</th><td>$Date</td></tr>
                <tr><th>Time</th><td>$Time</td></tr>
                <tr><th>Discussion</th><td>$Discussion</td></tr>
                <tr><th>Actions</th><td>$Actions</td></tr>
                <tr><th>Date of Next Meeting</th><td>$Dateofnextmeeting</td></tr>
                <tr><th>Status</th><td>$Status</td></tr>
                <tr><th>E Number</th><td>$E_number</td></tr>
                <tr><th>Supervisor Comments</th><td>$Supervisor_comments</td></tr>
              </tr>";
    }         
}

?>
</table>

数据库中的Minute表包含以下字段...

1   ID   Primary    int(10)             AUTO_INCREMENT  
2   B_number    varchar(15) latin1_swedish_ci       
3   Date    date            
4   Time    time            
5   Discussion  text    latin1_swedish_ci
6   Actions text    latin1_swedish_ci               
7   Dateofnextmeeting   date             
8   Status  enum('Submitted', 'Approved', 'Rejected', '')   latin1_swedish_ci       
9   Supervisor_comments text    latin1_swedish_ci       
10  E_number    varchar(15) latin1_swedish_ci       

请帮忙 :(

我不确定有几个变量是什么-更新您的问题以包括$currentUser是什么会有所帮助。

也就是说,问题可能出在您的SQL语句中:

$db->prepare("select * from minute where '$currentUser'=B_number ");

您正在选择$currentUser等于B_number 但是在数据库架构中,您显示B_number是一列。

我会尝试使用以下SQL语句:

$db->prepare("SELECT * FROM `Minute` WHERE `B_number` = '" . $currentUser . "' AND `id` = " . $yourIDVariable );

编辑

您的viewstudentminutes.php将遍历SQL查询中返回的每条记录。 您需要唯一地标识您的Minute记录,以仅在viewstudentminutes.php页面上显示一个记录。 您可以通过单击<img>标记访问此页面。 但是,您永远不会通过此表单发送所需的Minute对象的数据。 您可以通过以下方式添加它:

<form class='display:inline' method='post' action='viewstudentminutes.php' onsubmit='viewstudentminutes.php'>
    <input type='image' src='view.png' style='padding-top:7px'>
    <input type='hidden' name='minute_id' value='" . $ID . "'>
</form>

然后在您的viewstudentminutes.php以以下方式访问

$db->prepare("SELECT * FROM `Minute` WHERE `B_number` = '" . $currentUser . "' AND `id` = " . $_POST['minute_id']);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM