2017-04-05 57 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。它符合条件与否。 –