【问题标题】:Replace code in tab on click单击时替换选项卡中的代码
【发布时间】:2011-12-04 20:40:37
【问题描述】:

我需要一些关于我网站中涉及私人消息的部分的帮助。有问题的页面上有 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 等...我将不胜感激。

【问题讨论】:

  • 为什么你把你的变量设置为一个空字符串,然后立即覆盖它们?
  • @ThiefMaster:OP 是为所写的行付费的 ;-)
  • 不确定我是否一直这样做,这有关系吗?
  • @zerkms 以上所有代码都是我手工编写的。
  • @Alistair Wise:在 C# 中,您不需要这样做。 String a = "value";

标签: php javascript html css actionscript


【解决方案1】:

您想要的无法仅通过 PHP 实现:您想使用 AJAX 将消息加载到网页的现有部分中。

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

但请注意:将这种行为添加到您的页面也可能会造成破坏。 例如:您仍然可以链接到系统中的单个消息吗 如果您用 AJAX 请求替换当前显示消息的机制?

这是一个german language article。 (抱歉,现在找不到英文的)

另外:您的 PHP 代码容易受到 SQL 注入的影响。 Learn about prepared statements and use mysqli 来避免这个问题。

【讨论】:

  • 对不起,我还没有完成答案时错误地发布了。现在我完成了
  • 别担心 =) (我会在几分钟内删除我上面的​​(现在是多余的)评论。)
  • 感谢您的帮助,我现在就试一试
猜你喜欢
  • 2021-10-16
  • 2016-03-13
  • 1970-01-01
  • 2013-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-08
相关资源
最近更新 更多