我需要帮助我的网站其中一个涉及私人消息的部分。有问题的页面上有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";
}
?>
感谢您的想法,即使您可以告诉我是否需要动作或javascript等...我会很感激。
答案 0 :(得分:0)
单独使用PHP无法实现您的目标:您希望使用AJAX将消息加载到网页的现有部分。
这样做的一种简单方法是使用jQuerys load()方法
但要注意:在页面中添加此类行为也会破坏事物。 例如:您是否仍然可以链接到系统中的单个邮件 如果用AJAX请求替换当前显示消息的机制?
这是一个german language article。 (抱歉,刚才找不到英文版)
另外:您的PHP代码易受SQL注入攻击。 Learn about prepared statements and use mysqli以避免此问题。