单击时替换选项卡中的代码

Replace code in tab on click

本文关键字:代码 选项 替换 单击      更新时间:2023-09-26

我需要一点帮助与我的网站涉及私人消息的部分之一。有问题的页面上有4个选项卡,其中一个选项卡称为收件箱显示了收到的所有消息的表,每个消息的主题都有一个链接,可以转到另一个页面,更详细地显示该消息。然而,我想要的是收件箱选项卡中的内容被用于更详细地显示消息的代码所取代。

以下是收件箱表 的代码
<div id="inbox" class="tab_content">
    <table id="mail_header">
              <tr class="mailHeader">
                <th>Message ID</th>
                <th>From</th>
                <th>Subject</th>
                <th>Content</th>
                <!--<th>Date Completed</th>-->
                <th>Date Sent</th>
                <!--<th>Refused</th>-->
                </tr>
                        <?php
                        $sql = mysql_query("SELECT * FROM user_message WHERE id=$id");
                        $rowCheck = mysql_num_rows($sql);
                        if ($rowCheck == 0) {
                           echo "You Have No Messages";
                           die;
                        }
                        else {
                           while ($query = mysql_fetch_array($sql)) {
                                    echo '<div id="message_content">';
                                  echo '<tr>';
                                  $message_id = $query['message'];
                                  $from = $query['from'];
                                  $subject = $query['subject'];
                                  $message_content = $query['message_content'];
                                  $date_sent = $query['date_sent'];
                                  $viewed = $query['viewed'];
                                  if($viewed == '0'){
                                    echo "<td><boldMail>$message_id</boldMail></td>";
                                    echo "<td><boldMail>$from</boldMail></td>";
                                    echo "<td><boldMailSubject><a href='mail.php?mail=$message_id'>$subject</a></boldMail></td>";
                                    echo "<td><boldMail><div>$message_content</div></boldMail></td>";
                                    echo "<td><boldMail>$date_sent</boldMail></td>";
                                  }
                                  else{
                                    echo "<td>$message_id</td>";  
                                    echo "<td>$from</td>";
                                    echo "<td><a href='mail.php?mail=$message_id'>$subject</a></td>";
                                    echo "<td><div>$message_content</div></td>";
                                    echo "<td>$date_sent</td>";
                                  }

                                  echo '</tr>';
                                  echo '</div>';
                           }
                        }
                        ?>
                </table>
</div>

下面是我想在点击其中一个消息时替换上面代码的代码

<?php
        $mail_id = "";
        $mail_id = $_GET['mail'];
        if($mail_id = ""){
            $string = get_include_contents('mailContent.php');
            echo "$string";
        }
        else{
            $mail_id = "";
            $mail_id = $_GET['mail'];
            $sql_mail = mysql_query("SELECT * FROM user_message WHERE message='$mail_id'");
            $mail_array = mysql_fetch_assoc($sql_mail);
            $message_id = $mail_array['message'];
            $from = $mail_array['from'];
            $subject = $mail_array['subject'];
            $message_content = $mail_array['message_content'];
            $date_sent = $mail_array['date_sent'];
            echo "$message_id";
            echo "$from";
            echo "$subject";
            echo "$message_content";
            echo "$date_sent";
        }
        ?>

谢谢你的想法,即使你可以告诉我如果我需要actionscript或javascript等…

你想要的不是PHP单独实现的:你想使用AJAX将消息加载到你的网页已经存在的部分。

一个简单的方法是使用jquery的load()方法

但是要注意:在你的页面中添加这种行为也会破坏一些东西。例如:您是否仍然能够链接到系统中的单个消息如果用AJAX请求替换当前显示消息的机制?

这里有一篇关于这个的德文文章。(对不起,暂时找不到英文的)

也:你的PHP代码是容易受到sql注入。了解预处理语句使用mysqli可以避免这个问题。

相关文章: