如何使用滚动函数在一个页面上显示不同于数据库的表

c86crjj0  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(218)

现在,我正在做一个项目,在这个项目中,我需要在一个页面上显示来自不同表的数据,使用滚动功能一个接一个地显示数据
对于这个任务,我使用ajax、php、mysql。
以下是我到目前为止所做的:
php代码:

<?php
$conn = mysqli_connect("127.0.0.1", "Got", "nokia", "myddb");

$feedb = mysqli_query($conn,"SELECT * FROM feedb");
$feedb_count=mysqli_num_rows($feedb);
$photo = mysqli_query($conn,"SELECT * FROM photob");
$photo_count=mysqli_num_rows($photo);

$limito=$_POST["limit"];
$pagefeed=$_POST["start"];
$pagephoto=$_POST["startphoto"];
$pagetexto=$_POST["start3"];

$tumb=$_POST["change"];

    if($tumb==0)
    {
 $query = "SELECT * FROM feedb ORDER BY cid DESC LIMIT $pagefeed , $limito  ";
 $result = mysqli_query($conn, $query);

 while($row = mysqli_fetch_array($result))
 {
  echo "

        <div class=\"block\">
        <img class=\"imago\"src=\"img/$row[cphoto].jpg\">
        <span class=\"namo\">$row[cname]</span><br>
        <span class=\"texto\">$row[ctext]</span>

        </div>"."Page".$pagefeed."Func".$tumb;
    }
    }

        if($tumb==1)
            //echo "<br>"."Page".$pagefeed."Func".$tumb;
    {
 $query = "SELECT * FROM textb ORDER BY cid DESC LIMIT $pagephoto , $limito  ";
 $result = mysqli_query($conn, $query);

 while($row = mysqli_fetch_array($result))
 {
  echo "

        <div class=\"block\">
        <span class=\"namo\">$row[cname]</span><br>
        <span class=\"texto\">$row[ctext]</span>

        </div>";
    }
    }

javascript代码:

<script> 
$(document).ready(function(){

 var limit = 7;
 var start = 35;
 var start2 = 0;
 var start3 = 0;
 var action = 'inactive';
 var change  = 0;
 var ncount =0;

 if(active='inactive'){
  action='active';
  load_country_data();
}

 function load_country_data()
 {
  $.ajax({
   url:"resout.php",
   method:"POST",
   data:{limit:limit,start:start,change:change,startphoto:start2},
   cache:false,
   success:function(dataz)
   {
    $('#load_data').append(dataz);
    if(dataz == '')
    {
     action = 'inactive'; 
     change++;
     if(change==2){action = 'active'; $('#load_data_message').html('Больше нету данных'); }
    }
    else
    {
     $('#load_data_message').html("<button type='button' class='btn btn-warning'>Please Wait....</button>");
     action = "inactive";
    }
   }
  });
 }

 $(window).scroll(function(){
  if(($(window).scrollTop() + $(window).height())==$(document).height() && action == 'inactive' && change==0)
  {
   action = 'active';
   start=start+limit; setTimeout(function(){load_country_data();}, 300);
  }

else if(($(window).scrollTop() + $(window).height())==$(document).height() && action == 'inactive' && change==1)
  {
   action = 'active';
   setTimeout(function(){load_country_data();}, 300);
   start2=((ncount-1)*limit);ncount++;
  }

});
 });
</script>

但是在显示一个基之后,当它开始显示第二个基时,它有一个错误 mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given 错误之后,它会正确地显示第二垒。我认为这个问题是因为我选择了一个方法来显示第二基“star2=(ncount-1)*limit;“ncount++”,但我没有看到其他解决方案。
如何解决此问题或如何以不同的方式显示不同的表?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题