如何在php循环中显示隐藏的数据类型?

如何在php循环中显示隐藏的数据类型?,php,javascript,jquery,mysql,Php,Javascript,Jquery,Mysql,对于在php循环中动态填充的数据,是否有切换显示/隐藏的方法 我一直在努力找出最好的方法来做这件事,但我认为我知道的还不够,我不确定什么是最佳实践 情况如下: 申请者通过我的网站提交摘要,并进入数据库 管理员登录并查看提交的结果-这是一个包含一些基本信息的表,但没有摘要文本,因为它太长了 我希望有一个按钮(或其他东西!),可以显示/隐藏摘要文本,同时让管理员有机会将摘要分配给会话 我以为我可以做一个jquery显示/隐藏按钮的事情,但我无法让它工作。下面是代码-请注意,这是所有的开发,并不是所有

对于在php循环中动态填充的数据,是否有切换显示/隐藏的方法

我一直在努力找出最好的方法来做这件事,但我认为我知道的还不够,我不确定什么是最佳实践

情况如下:

  • 申请者通过我的网站提交摘要,并进入数据库
  • 管理员登录并查看提交的结果-这是一个包含一些基本信息的表,但没有摘要文本,因为它太长了
  • 我希望有一个按钮(或其他东西!),可以显示/隐藏摘要文本,同时让管理员有机会将摘要分配给会话 我以为我可以做一个jquery显示/隐藏按钮的事情,但我无法让它工作。下面是代码-请注意,这是所有的开发,并不是所有的安全特性都在这里。我这样说是因为不可避免地会有人对会话或转义字符串等进行评论

    <?php
    include_once('xxx.php');
    $conn = new connectorfunction();
    
    $query = "SELECT * FROM tablename ORDER BY abstract_id";
    $result = mysql_query($query);
    
    $numfields = mysql_num_fields($result);
    $data = array();
    $flist = array();
    
    for($i=0;$i<$numfields;$i++)$flist[] = mysql_field_name($result,$i);
    $data[0] = $flist;  
    while($row = mysql_fetch_assoc($result)){
      $data[] = $row;
    
    print '
      <tr>
       <td>
       <span style="text-decoration: underline">Author:</span>
       <br />
       ' . $row['abstract_author'] .'
       </td>
    
      <td>
       <span style="text-decoration: underline">Title:</span> 
      ' . $row['presentation_title'] . '
      <br />
      <button>View/Assign</button>
      </td>
    
      <td>
      ';
    
      if ($row['abstract_category'] === NULL ) {
    print '
          Needs Session
        ';
      }
      else {
    print '
          Assigned
        ';
      }
      print'
    
      <tr style="display:none;">
    <td colspan="3">
    
    '. $row['abstract_text'] .'
     </tr>
    
     <tr style="display:none;">
       <td colspan="3">
          <form action="assign_session.php" method="post" id="form">
        <label for="abstract_category">Assign Session:
        <input type="hidden" name="abstract_id" value="'. $row['abstract_id'] .'" />
        <input type="radio" name="abstract_category" value="session1" />Session One
        <input type="radio" name="abstract_category" value="session2" />Session Two
        <input type="radio" name="abstract_category" value="notapplicable" />Not Applicable             
     <button type="submit" formaction="assign_session.php">Assign</button></label>
     </form>
    
       </td>
      </tr>
      ';
     }
     ?>
    
    
    
    您可以看到,有一个按钮:

    还有两个具有“display:none”样式

    这个表在填充时看起来真的很棒,我只是需要一种让管理员看到抽象文本的好方法,但是我似乎无法成功地指向php中的jquery函数。关于处理这个问题的最佳方法有什么建议吗?

    类似的建议

    示例:
    点击我 摘要文本 分配会话: 第一堂课 第二场 不适用 分配
    我使用jquery切换(显示/隐藏)需要显示/隐藏的元素


    此外,您在这段代码中有几个错误(比如您没有关闭第一个td,没有以正确的方式使用标签)。

    您可以使用jquery执行类似的操作

    假设您单击“显示”

    $('#my_button').click(function(){
                          $('#hidden_div').val('hidden',false);});
    
    还是CSS

    $('#my_button').click(function(){
                          $('#hidden_div').css('display','all');});
    

    为什么不使用一个模式,例如有一个“Show Abstract”按钮,点击模式就会打开,这样你就可以很容易地显示那个抽象文本……与其尝试
    echo
    print
    免费的标记,不如根据需要跳进跳出PHP;如果只是为了可读性,@bracketworks虽然我喜欢这个想法——这可能是我在这里缺乏知识——但是如果我跳进跳出php,我不需要重新做整个数据库连接的事情吗?这似乎比打印要多得多……我还缺少什么知识呢?@MelanieSumnerSmith Nope;跳入和跳出PHP不会导致任何数据、服务连接或任何损失。您并不是真正地切换模式,您只是缓冲/刷新非PHP数据;通常是HTML。
    $('#my_button').click(function(){
                          $('#hidden_div').css('display','all');});