我的PHP while循环未解析整个表

时间:2019-04-18 23:53:04

标签: php html

我的网页中有两个表,每个表中都装有一个php while循环。

我的第一个表输出了所有数据,但我的第二个while循环仅输出与第一个表一样多的字段。

我的第二个while循环没有嵌套在另一个循环中,它们彼此独立。

当我检查控制台时,我看到我的第二个while循环似乎已经输出了数据,但是当我单击按钮以显示整个列时,仅显示3个值,而不是全部

这是我单击“团队任务”时显示的内容

https://imgur.com/4FCu1dX

这是我单击“我的任务”时显示的内容

https://imgur.com/q1F6sgx

我还注意到,无论我单击“ MYTASK”还是“ TEAM TASK”,它们都是MYTASK中始终显示的两行。

我最初在同一张表中同时拥有两个while循环,但随后将它们移动到每个填充自己的表中,但是仍然会发生此问题。


<table border='0' style="float:left; width:20%; height: 500px; border-radius: 5px; display: block;" bgcolor="#2B4353">
  <thead>
<tr>

  <td bgcolor="#2B4353" border="0" valign="top" align="right">
    <div class="messages-header-my" onclick="myTasks()"><p id="myTasks">MY TASKS</p></div></td>

  </tr>
</thead>
<tbody>
<?php
  while($row8 = mysqli_fetch_array($TableMY)){ $task1234=$row8[1];
?>
<tr id="my" style="display: block;" onclick="myTaskView('<?php echo $task1234?>')"><td bgcolor="#2B4353" border="0" valign="top" colspan="3"><p 
<?php if ($row8[0]=='HIGH') 
{$statuscss= 'taskHigh';} 
elseif ($row8[0]== 'MEDIUM') 
{$statuscss= 'taskMedium ';} 
else{ $statuscss= 'taskLow';}    
echo 'class="',$statuscss,'"';?> style="margin-left: 30px;">OD_<?php echo $task1234?></p></td></tr>
  <?php }?>
</tbody>
</table>



<table border='0' style="float:left; width:20%; height: 500px; border-radius: 5px; display: block;" bgcolor="#2B4353">
  <thead>
<tr>

  <td bgcolor="#2B4353" border="0" valign="top" align="right">
    <div class="messages-header-team" onclick="teamTasks()"><p id="teamTasks">TEAM TASKS</p></div></td>
  </tr>
</thead>
<tbody>
<?php
  while($row8 = mysqli_fetch_array($TableTeam)){ $task1234=$row8[1];
?>
<tr id="team" style="display:none;" onclick="myTaskView('<?php echo $task1234?>')"><td bgcolor="#2B4353" border="0" valign="top" colspan="3"><p 
<?php if ($row8[0]=='HIGH') 
{$statuscss= 'taskHigh';} 
elseif ($row8[0]== 'MEDIUM') 
{$statuscss= 'taskMedium ';} 
else{ $statuscss= 'taskLow';}    
echo 'class="',$statuscss,'"';?> style="margin-left: 30px;">OD_<?php echo $task1234?></p></td></tr>
  <?php }?>

</tbody>
</table>

我的php


 require('server.php');

  session_start();
                $email=$_SESSION['email'];


                $sqli="Select URLDomain from Admin.Users where Email = ?";
                $stmt =mysqli_prepare($link,$sqli);
                mysqli_stmt_bind_param($stmt,"s",$email );
                mysqli_stmt_execute($stmt);
                $useremail=mysqli_stmt_get_result($stmt);
                $row = mysqli_fetch_array($useremail);
                $DBdomain=$row[0];

                mysqli_select_db($link,"Universe");
                $stmt = mysqli_prepare($link,"Select Priority,TaskNumber from Task where urlDomain=?");
                mysqli_stmt_bind_param($stmt,"s",$DBdomain );
                mysqli_stmt_execute($stmt);
                $TableTeam=mysqli_stmt_get_result($stmt);
                mysqli_stmt_close($stmt);


                mysqli_select_db($link,"Universe");
                $stmt = mysqli_prepare($link,"Select Priority,TaskNumber from Task where TaskOwner=?");
                mysqli_stmt_bind_param($stmt,"s",$email );
                mysqli_stmt_execute($stmt);
                $TableMY=mysqli_stmt_get_result($stmt);
                mysqli_stmt_close($stmt);



这是我的Javascript



<script>
function messagesTab() {
  document.getElementById("task-message").style.display = "block";
}
</script>

<script>
function myTasks() {

  document.getElementById("myTasks").style.color = "#1FAC96";
  document.getElementById("teamTasks").style.color = "#FFFFFF";

  document.getElementById("team").style.display = "none";
  document.getElementById("my").style.display = "block";
  document.getElementById("messageDisplay").style.display = "block";
  document.getElementById("myTaskView").style.display = "none";
}
</script>

<script>
function teamTasks() {
  document.getElementById("teamTasks").style.color = "#1FAC96";
  document.getElementById("teamTasks").style.underline = "#1FAC96";
  document.getElementById("myTasks").style.color = "#FFFFFF";

  document.getElementById("team").style.display = "block";
  document.getElementById("my").style.display = "none";
  document.getElementById("myTaskView").style.display = "none";
  document.getElementById("messageDisplay").style.display = "block";

}
</script>

<script>
function myTaskView(Task_Number) {
     $.ajax({  
            url:'messages_select.php',  
            type:'POST',  
            data:{Task_Number:Task_Number},  
            success:function(data){  
                $('#myTaskView').html(data);
                document.getElementById("myTaskView").style.display = 'block';
                document.getElementById("messageDisplay").style.display = 'none';
                  }
      });

}
</script>

<script>

var main = function() {
  $('form').submit(function(event) {
    var $input = $(event.target).find('input');
    var comment = $input.val();
    if (comment != "") {
      var user = '<i class="fas fa-user-circle"></i>';
      var userInfo = $(user).text('  '+'nataliekoly@mail.usf.edu'+' | '+'01/31/19'+' | '+'3:45 PM')
      var comment = $('<li>').text(comment);
      comment.prependTo('#comments');
      userInfo.prependTo('#comments');
      $input.val("");
    }

    return false;

  });
}

$(document).ready(main);

</script>

1 个答案:

答案 0 :(得分:1)

ID必须是唯一的,表的每一行都不能有id="my"id="team"。改用类:

<tr class="my" style="display: block;" onclick="myTaskView('<?php echo $task1234?>')"><td bgcolor="#2B4353" border="0" valign="top" colspan="3"><p 

<tr class="team" style="display:none;" onclick="myTaskView('<?php echo $task1234?>')"><td bgcolor="#2B4353" border="0" valign="top" colspan="3"><p 

然后您需要遍历它们:

document.querySelectorAll(".my").forEach(el => el.style.display = "block");