编程语言
首页 > 编程语言> > php-如何创建新闻源(AJAX新闻源)

php-如何创建新闻源(AJAX新闻源)

作者:互联网

我有一个信息系统,更具体地说是一个信息系统,即票务系统.信息系统将包含拥有无限或n个用户的帐户.我希望用户能够看到其他用户在新闻源中的操作或对内容的更改. (就像Facebook).我将使用PHP,MySQL和AJAX(或jQuery)实现新闻源.我将知道如何设置表和查询.

如何使用PHP和AJAX或jQuery提取内容并将其显示在新闻源中(以具有淡入淡出或滚动效果的Facebook新闻源样式显示).

我一直在寻找一个好的教程,但没有找到一个.如果可能的话,我想最好从头开始编写代码.

我仍然有一些问题:这是我的问题:

ajax.php

<?php require_once('../../Connections/f12_database_connect.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_f12_database_connect, $f12_database_connect);
$query_newsfeed_a = "SELECT * FROM newsfeed";
$newsfeed_a = mysql_query($query_newsfeed_a, $f12_database_connect) or die(mysql_error());


while($row_newsfeed_a = mysql_fetch_assoc($newsfeed_a))
{
        echo("<div class='feedItem'>");
    echo("<div class='title'>" . $feedItem['title'] . "</div>");
    echo("<div class='body'>" . $feedItem['body'] . "</div>");
    echo("</div>");



}
$totalRows_newsfeed_a = mysql_num_rows($newsfeed_a);
?>

<?php
mysql_free_result($newsfeed_a);
?>

feed.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>

<script>
    function refreshNews()
    {
        $("#news").load("ajax.php")
    }
</script>
</head>

<body>





<div id="news"></div>
</body>
</html>

我究竟做错了什么?

解决方法:

如果您想从头开始编写代码,则基本过程是创建一个PHP脚本来收集数据并将其发送回AJAX请求.通常,我创建一个单独的PHP文件来处理所需的任何操作.

您的PHP脚本正常输出的所有内容都将发送回AJAX请求.因此,任何HTML标记,任何echo / print语句. header()之类的东西也会创建输出,只是一个警告.

根据页面的设计,您可以使用PHP创建HTML,然后根据需要使用jQuery将html放入页面中.另一个选择是使用PHP的json_encode()并将所有数据作为JSON发送回去,并构建HTML结构客户端.

如果每个提要项都具有相同的基本结构,则像在任何常规页面中一样,在PHP中创建HTML服务器端可能是最容易的.您只需要供稿的HTML代码段即可.

最简单的方法是jQuery.load()
http://api.jquery.com/load/

在HTML页面内:

<script>
    function refreshNews()
    {
        $("#news").load("path/to/ajax.php")
    }
</script>

<div id="news"></div>

在PHP中:

$sql = "SQL TO GET NEWS FEED";

$result = mysql_query($sql);

while($feedItem = mysql_fetch_assoc($result))
{
    echo("<div class='feedItem'>");
    echo("<div class='title'>" . $feedItem['title'] . "</div>");
    echo("<div class='body'>" . $feedItem['body'] . "</div>");
    echo("</div>");
}

然后,您可以从另一个事件(刷新按钮,定时事件等)中调用refreshNews().

显然,您的html和数据结构可能有所不同.只要确保这是此PHP文件输出的唯一内容即可.这包括标签之外的所有内容.

有更有效的方法来执行此操作,此脚本实际上将在每次调用refreshNews()时重新加载新闻项的整个列表.目前,这是使其工作最简单的方法之一,因此请尝试一下,如有需要,可以使用更有效的方法.

标签:ajax,news-feed,mysql,php,jquery
来源: https://codeday.me/bug/20191102/1987934.html