2017-04-05 64 views
0

我想從PHP/AJAX基地寫的「加載更多的記錄」的代碼,但是代碼不起作用負載更不工作

PHP代碼:

<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> 
<link rel="stylesheet" type="text/css" href="style.css"> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $(document).on('click','.show_more',function(){ 
     var ID = $(this).attr('id'); 
     $.ajax({ 
      type:'POST', 
      url:'load_more.php', 
      data:'ID='+ID, 
      success:function(html){ 
       $('#show_more_main'+ID).remove(); 
       $('.row').append(html); 
      } 
     }); 

    }); 
}); 
</script> 
</head> 
<div class="container"> 
<div class="row"> 
<?php 
include_once "config.php"; 
$news = mysqli_query($conn,"SELECT * FROM news ORDER BY ID DESC LIMIT 2"); 
while($row = mysqli_fetch_assoc($news)){ 
    $ID = $row["ID"]; 
    $DESC = $row["news_desc"];  
?> 
<p class="bg-primary" style="padding: 10px;"><?php echo substr($DESC,0,342) ?> ...</p> 
<?php } ?> 
    <div class="show_more_main" id="show_more_main<?php echo $ID; ?>"> 
     <button class="btn btn-success show_more" id="<?php echo $ID; ?>"><i class="fa fa-circle-o-notch fa-spin"></i> ჩატვირთვა</button> 
    </div> 
</div><!--row--> 
</div><!--container--> 

load_more.php

<?php 
if(isset($_POST["ID"]) && !empty($_POST["ID"])){   
    include "config.php"; 

    $all_query = mysqli_query($conn,"SELECT COUNT(*) as num_rows FROM news WHERE ID < ".$_POST['ID']." ORDER BY ID DESC"); 
    $records = mysqli_fetch_assoc($all_query); 
    $all_records = $records["num_rows"]; 

    $news_limit = 2; 

    $query = mysqli_query($conn,"SELECT * FROM news WHERE ID <".$_POST['ID']."ORDER BY ID DESC LIMIT".$news_limit); 
    var_dump($query); 
    while($row = mysqli_fetch_assoc($query)){ 
    $DESC = $row["news_desc"]; 
    ?> 
    <p class="bg-primary" style="padding: 10px;"><?php echo substr($DESC,0,342) ?> ...</p> 
    <?php } 
    if($all_records > $news_limit){?> 
    <div class="show_more_main" id="show_more_main<?php echo $ID; ?>"> 
     <button class="btn btn-success show_more" id="<?php echo $ID; ?>"><i class="fa fa-circle-o-notch fa-spin"></i> ჩატვირთვა</button> 
    </div> 
<?php 
    } 
} 

?> 

也許一切正常,但是當我在沒有任何按鈕,點擊會發生 我不知道什麼問題是有...幫助我解決

+3

您的代碼易受SQL注入攻擊。您應該使用[mysqli](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)或[PDO](http://php.net/manual/en/pdo.prepared- statement.php)按照[本文]中描述的準備語句(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)。 –

+0

謝謝你可以編輯我的代碼? – DonnaTelloo

+5

當然,我的費率是$ 125 /小時。 Plz發送bitcoinz。 –

回答

0

問題是你在LIMIT".$news_limit

這個

<".$_POST['ID']."ORDER 

和空間錯過空間,如果您訂購前和限制後的禮物空​​間

$query = mysqli_query($conn,"SELECT * FROM news WHERE ID <".$_POST['ID']." ORDER BY ID DESC LIMIT ".$news_limit); 

讓我知道它是否將運行它的工作

+0

添加了其他兩條記錄,但按鈕消失了,同樣的問題,因爲我在desc – DonnaTelloo

+0

寫道如果添加2行這意味着代碼工作,因爲你的新限制是2你可以在$ news_limit = 2中看到;的代碼。對於按鈕,嘗試echo $ all_records。它符合條件與否。 –