无法使用ajax加载函数检索数据以检索MySQL数据

时间:2016-10-03 14:41:56

标签: javascript php jquery mysql ajax

我可以从与数据库无关的网页中检索信息,但是当我尝试将其与数据库一起使用时,就会出现问题。

我有两个容器。第一个容器有一个名称列表,第二个容器将显示所选名称的信息(来自第一个容器)。理想情况下,信息将通过id从所请求的MySQL数据库表中提取,以获取所点击的名称。数据库中名称的id在PHP代码中称为$pmidnewmessageData.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>&nbsp; '.$name.' <br /><label>Date:</label>&nbsp; '.$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>

0 个答案:

没有答案