php - 模态显示变量的所有记录,而它应该显示一个?

标签 php mysql codeigniter

我在 Modal 中调用 var MessageBodyFull,只想查看特定记录的消息正文,但所有记录都显示了。我试过将模式移动到堆栈中的不同位置,围绕 php for 循环工作,但似乎没有任何效果。

添加上下文:“LIMIT 10”将数据表限制为 10 条记录,显示消息正文的前 65 个字符。每条记录都有一个指向模式的链接,我想在其中显示完整的消息正文,但目前单击链接时,模式包括所有 10 条记录的完整消息正文。

查看(相关片段)

<table id="tableDataset">
   <thead>
      <tr>
         <th><i class="icon-briefcase"></i> Recipient</th>
         <th class="hidden-xs"><i class="icon-question-sign"></i> Message Body</th>
         <th><i class="icon-bookmark"></i> Date</th>
         <th><i class="icon-bell"></i> Status</th>
      </tr>
   </thead>
   <tbody>
      <?foreach($letter_feed as $feed_item): ?>
         <tr>
            <td><?=$feed_item->Recipient?></td>
            <td class="hidden-xs"><?=$feed_item->MessageBody?> <a href="#messageBodyFull" data-toggle="modal">Full Message</a></td>
            <td><?=$feed_item->Created?> </td>
            <td><?=$feed_item->StatusDescription?></td>
         </tr>
      <?endforeach?>
   </tbody>
</table>

<div class="modal fade" id="messageBodyFull" tabindex="-1" role="dialog" aria-labelledby="messageBodyFull">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">STATUS: <?=$feed_item->StatusDescription?></h4>
      </div>
      <div class="modal-body">
        <?foreach($letter_feed as $feed_item): ?>
            <?=$feed_item->MessageBodyFull?><br><br> <!-- added the breaks to help my eyes with the error -->
        <?endforeach?>
      </div>      
      <div class="modal-footer">    
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

模型(相关片段)

public function get_letter_feed($user_id) { 
$sql = " 
    SELECT 
    l.uuid AS Uuid, 
    ls.`statcode` AS StatusCode, 
    ls.`statname` AS StatusDescription, 
    lst.shortnotes AS Notes, 
    lp.image AS Picture,
    CONCAT(LEFT(l.messages, 65), '') AS MessageBody, 
    l.rcpnt AS Recipient, 
    lst.createdtime AS Created
FROM Letters l
JOIN LetterAT lst ON lst.letterid = l.id AND lst.deleted IS NULL
JOIN LetterST ls ON ls.id=lst.statusId
JOIN LetterIT lp ON lp.letterid = lst.letterid
WHERE 
    l.ownerId = {$this->db->escape($user_id)}
ORDER BY lst.created DESC
LIMIT 10;";
return $this->db->query($sql)->result();  
}

Controller (相关片段)

public function get_letter_status_feed_html() {
$letter_feed = $this->Letter_model->get_letter_feed($this->user->userId);
$this->load->view('dashboard/snippet/letter_status_feed', array('letter_feed'=>$letter_feed));
}

最佳答案

我认为堆栈/队列的结构存在问题。

修复:将所需的变量 (var MessageBodyFill = MessageBodyFull) 与所选记录放在一起,并使用 document.getElementById().innerHTML 将其调用到模态中。

表格

<table id="tableDataset">
 <thead>
  <tr>
     <th><i class="icon-briefcase"></i> Recipient</th>
     <th class="hidden-xs"><i class="icon-question-sign"></i> Message Body</th>
     <th><i class="icon-bookmark"></i> Date</th>
     <th><i class="icon-bell"></i> Status</th>
  </tr>
</thead>
<tbody>
  <?foreach($letter_feed as $feed_item): ?>
     <tr>
        <td><?=$feed_item->Recipient?></td>
       <!-- FIX --> <td class="hidden-xs"><?=$feed_item->MessageBody?> <a href="#messageBodyFull" class="open-MessageBodyFill btn btn-primary"  data-id="<?=$feed_item->MessageBodyFull?>" data-toggle="modal">Full Message</a></td>  
        <td><?=$feed_item->Created?> </td>
        <td><?=$feed_item->StatusDescription?></td>
     </tr>
  <?endforeach?>
 </tbody>
</table>

新/附加脚本

<script>
    $(document).on("click", ".open-MessageBodyFill", function () {
    var MessageBodyFull = $(this).data('id');
    $(".modal-body #messageBodyFull").val( MessageBodyFull );
    document.getElementById("messageBodyFull").innerHTML = MessageBodyFull;
    });
</script>

模态

<div class="modal fade" id="messageBodyFull" tabindex="-1" role="dialog" aria-labelledby="messageBodyFull">
 <div class="modal-dialog" role="document">
<div class="modal-content">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
    <h4 class="modal-title" id="myModalLabel">STATUS: <?=$feed_item->StatusDescription?></h4>
  </div>
  <div class="modal-body">
     <p type="textarea" name="messageBodyFull" id="messageBodyFull" value=""/> <!-- FIX -->
  </div>      
  <div class="modal-footer">    
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  </div>
</div>

关于php - 模态显示变量的所有记录,而它应该显示一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32830005/

相关文章:

php - 在服务器中搜索图片并显示

mysql Nodejs connection.query like 运算符错误

mysql - 我需要通过自定义查询获取具有特定类别 ID WordPress 的帖子、特色图像

php - SQL 语法错误代码 1064

php - MySQL WHERE 基于 PHP 变量

php - 通过在 php 中选择第一个下拉列表值来填充第二个下拉列表

PHP ISO 8601 格式转换问题

php - CSV导入功能在插入mysql数据库时添加前面的双引号

mysql - Codeigniter 更新数据库表

javascript - 点击的id的身份