簡體   English   中英

數據庫驅動頁面內容

[英]Database Driven Page Content

我正在嘗試在我的網站上制作一個Facebook風格的牆。 目標是插入表單數據,根據需要驗證所有表單,並將此數據存儲到數據庫中。 同時,我希望將存儲在該數據庫中的所有數據發布到用作facebook牆的div中。

我似乎已經完成了存儲表單中的數據。 我也可以檢索數據庫中的所有數據,除了僅在提交表單時才這樣做。 這意味着沒有頁面內容,除非用戶提交了帖子。

用戶打開頁面之前或之前,如何用數據庫中的行填充頁面?

請幫忙!

這是我的php,它在提交html表單時存儲和打印數據。

<?php
  // Create connection
  $con=mysqli_connect("localhost","root","","test");

  if (mysqli_connect_errno())
  {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
  $sql="INSERT INTO test (school, confession)
  VALUES
  ('$_POST[school]','$_POST[confession]')";

  if (!mysqli_query($con,$sql))
  {
    die('Error: ' . mysqli_error($con));
  }
  echo "1 record added";

  //  print $_POST['college']."-<br />".$_POST['confession'];
  $result = mysqli_query($con,"SELECT * FROM test");

  while($row = mysqli_fetch_array($result))
  {
    echo "#" . $row['ID'] . " " . $row['confession'];
    echo "<br>" . "@" .$row['school'];
    echo "<br>" . "<br>";
  }

  mysqli_close($con);
?>

這是我的JS,它發布到一個名為content的div中。

$(document).ready(function(){
  $("#subform").validate({
    submitHandler: function(form) {
      // do other stuff for a valid form
      $.post('test.php', $("#subform").serialize(), function(data) {
        $('#content').html(data);
      });
    }
  });
});

您可以使用JavaScript計時器 ,該計時器將在特定時間間隔后滴答並加載您的數據,此外,您還必須編寫一個僅在test.php文件中獲取數據的函數。

function dataLoader()
{
   //load Data with GET Request $.get(. . . );
}

dataLoader();
setInterval(dataLoader, 1000);

第二個選項將使用jquery計時器庫來實現性能

感謝您的答復,我解決了這個問題。 我只是在加載時調用了php。

    $(document).ready(function(){
    $("#subform").validate({
        submitHandler: function(form) {
            // do other stuff for a valid form
            $.post('test.php', $("#subform").serialize(), function(data) {
                $('#subform').html(data);
            });
        }
    });
}); 

另一種方法是在鼠標滾動時加載數據,例如:

  //approx this
$(document).ready(function () {
    var flg='1';
    $(window).scroll(function () {
    console.log($(document).scrollTop());
    if ($(document).scrollTop() >299){
        if(flg=='1')
            {
        $.post( 'link to server side code', function( data ) {
            $('#morefrom').html(data.htmls);
        },'json');
         flg='0';
            }
    }
  });});

這樣,您就可以在特定的鼠標滾動值加載數據(例如,如果一個用戶獲取頁面的底部,你加載新行) scrollTop的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM