我可以从与数据库无关的网页中检索信息,但是当我尝试将其与数据库一起使用时,就会出现问题。
我有两个容器。第一个容器有一个名称列表,第二个容器将显示所选名称的信息(来自第一个容器)。理想情况下,信息将通过id
从所请求的MySQL数据库表中提取,以获取所点击的名称。数据库中名称的id在PHP代码中称为$pmid
。 newmessageData.php
是从中提取数据的页面。
我正在使用超链接,因为当我将鼠标悬停在它们上面时,我可以看到各自的ID名称,但如果有人建议其他任何内容,例如按钮,我会尝试。
我是ajax的新手,我很感激任何建议或意见。
这是我的代码:
Containers.php
PHP代码:
<?php
//Connected to database and retrieved information.
//Created table variable
$table .= '
<tr>
<td><a id="link" href="newmessageData.php?pmid='.$pmid.'">'.$name.'</a></td>
</tr>';
?>
Containers.php
HTML:
<div class="container">
<div class="container">
<table>
<tr><?php echo $table; ?></tr> <!-- Echoed $table here -->
</table>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<script> <!--To prevent link from redirecting-->
$("a").click(function() {
return false;
});
</script>
</div>
<div class="container">
<div id="content"></div>
</div>
</div>
ajax.js
档案:
$('#link').click(function(){
$.ajax({
url: 'newmessageData.php?pmid=<?php echo $pmid; ?>',
success: function(data){
$('#content').html(data);
e.preventDefault(); // stop the browser from following the link
}
});
});
newmessageData.php
PHP代码:
对不起,如果有任何遗漏。可能已经把它清理得太多了。
<?php
//Connect db and retrieve information
//Initial variables
$pmid = "";
$info= "";
// Make sure the _GET username is set, and sanitize it
if(isset($_GET["pmid"])){
$pmid = preg_replace('#[^a-z0-9]#i', '', $_GET['pmid']);
}
// Get list of parent pm's not deleted
$sql = "SELECT * FROM pm WHERE id='$pmid'";
$query = mysqli_query($db, $sql);
$statusnumrows = mysqli_num_rows($query);
// Gather data about parent pm's
if($statusnumrows > 0){
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
$pmid = $row["id"];
//textarea naming
$rt = 'replytext_'.$pmid;
//button naming
$rb = 'replyBtn_'.$pmid;
$receiver = $row["receiver"];
$name= $row["name"];
$subject = $row["subject"];
$message = $row["message"];
$time = $row["senttime"];
$rread = $row["rread"];
$sread = $row["sread"];
// Start to build our list of parent pm's
$info.= '<div class="container" id="'.$wrap.'" style="margin-top: 20px; border-radius: 7px; background: #ffffff; border: 2px solid #CCC; padding: 20px;">';
$info.= '<div class="pm_header">'.$subject.'<br /><br />';
// Add button for mark as read
$info .= '<button onclick="markRead(\''.$pmid.'\',\''.$name.'\')">Mark As Read</button>';
$info.= '<div id="'.$pmid2.'">';//start expanding area
$info.= '<div id="pm_post" class="pm_post"><label>From:</label> '.$name.' <br /><label>Date:</label> '.$time.'<br /><label>Message:</label><br />'.$message.'</div><br />';
$info.= '</div>';
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="js/main.js"></script>
<script src="js/custom_ajax.js"></script>
</head>
<body>
<div class="container">
<div class="info" id="info">
<?php echo $info; ?>
</div>
</div>
<br /><br />
</body>
</html>