2016-06-07 80 views
0

你好負載我有負載的問題,更阿賈克斯都是好,但是當沒有 數據從數據庫顯示告訴我這個錯誤:http://i.stack.imgur.com/6158Y.png更多與此阿賈克斯PHP

的index.php

<div id="show_here"> 
<div id="hide_here" onclick="show_more_posts(<?php echo $post['id']; ?>);">Show More Posts</div> 
</div> 

main.js

// Load more post 
function show_more_posts(post_id) 
{ 
    var ID = post_id; 
    $.ajax({ 
    type: "POST", 
    url: "ajax/ajax_more.php", 
    data: "lastmsg="+ ID, 
    cache: false, 
    success: function(html){ 
     $("#show_here").append(html); 
     $("#hide_here").remove(); 
    } 
    }); 
    return false; 
} 

ajax_more.php

<?php 
include("../config.php"); 

$lastmsg = $_POST['lastmsg']; 
$result = mysqli_query($Connection, "select * from posts where id<'$lastmsg' order by id desc limit 10"); 

while($row = mysqli_fetch_array($result)) 
{ 
    $msg_id=$row['id']; 
    $message=$row['text']; ?> 

    <li> <?php echo $message; ?> </li> <?php 
} 
?> 

<div id="show_here"> 
    <div id="hide_here" onclick="show_more_posts(<?php echo $msg_id; ?>);">Show More Posts</div> 
</div> 
+0

您必須使用「GET」方法,如果你使用'echo'作爲輸出檢索數據覈對總受影響的行數據。 –

+0

申報$ msg_id ='';在循環前 – kc1994

+1

你應該先定義$ msg_id而 – yafater

回答

0

你只需要做這樣

<div id="show_here"> 
<?php 
if(isset($post['id'])) { 
?> 
    <div id="hide_here" onclick="show_more_posts(<?php echo $post['id']; ?>);">Show More Posts</div> 
<?php 
}else{ 
?> 
<div id="hide_here">No More Posts to show !!!!</div> 
<?php 
} 
?> 
</div> 

試試這個,它可以幫助你

+0

@ C0dekid我可以知道我的答案是無效的嗎? – Siddharth

+0

@ C0dekid你的意思是標籤?然後知道一個像你這樣的人不能假定PHP標籤投了我的答案lol – Siddharth

+0

堅持,讓我編輯你的答案,比你能看出我的意思,如果你開始編輯,我將upvote您的答案,因爲有人downvoted它由於您的答案中的一些錯誤:) – Jer

0

您可以使用這樣的。那麼你不會得到錯誤。

<?php 
if(isset($msg_id)) { 
?> 
<div id="show_here"> 
    <div id="hide_here" onclick="show_more_posts(<?php echo $msg_id; ?>);">Show More Posts</div> 
</div> 
<?php 
} 
?> 
0

在你ajax_more.php文件你有,而之前設置$msg_id$lastmsg

<?php 
include("../config.php"); 

$lastmsg = $_POST['lastmsg']; 
$result = mysqli_query($Connection, "select * from posts where id<'$lastmsg' order by id desc limit 10"); 

$msg_id = $lastmsg; 
while($row = mysqli_fetch_array($result)) 
{ 
    $msg_id=$row['id']; 
    $message=$row['text']; ?> 

    <li> <?php echo $message; ?> </li> <?php 
} 
?> 

    <div id="hide_here" onclick="show_more_posts(<?php echo $msg_id; ?>);">Show More Posts</div> 

所以,即使你的查詢沒有返回數據(沒有新的消息),變量有正確的價值。

相反,如果你希望,在某些時候,有沒有更多內容加載,你必須使用從卡婭Mydeen還提供瞭解決方案:

<?php 
include("../config.php"); 

$lastmsg = $_POST['lastmsg']; 
$result = mysqli_query($Connection, "select * from posts where id<'$lastmsg' order by id desc limit 10"); 

while($row = mysqli_fetch_array($result)) 
{ 
    $msg_id=$row['id']; 
    $message=$row['text']; ?> 

    <li> <?php echo $message; ?> </li> <?php 
} 
?> 

<?php if(isset($msg_id)) { ?> 
    <div id="hide_here" onclick="show_more_posts(<?php echo $msg_id; ?>);">Show More Posts</div> 
<?php } ?> 

而且,你的代碼有事端奇怪:您繼續添加divid="show_here"

0

我想取前通過while循環,你應該有這樣的

$totrows = mysql_num_rows($result); 
if($totrows > 0){ 
    //your while loop for fetch data 
}else{ 
    //return something else 
}