gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 08:07:33 27 4
gpt4 key购买 nike

我有一个信息系统,更具体地说,是一个票务系统。信息系统将包含拥有无限或“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);
?>

饲料.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() 时重新加载整个新闻项目列表。目前,这是让它工作的最简单方法之一,所以请尝试一下,如果需要,还有更有效的方法。

关于php - 如何创建新闻源(AJAX 新闻源),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8185006/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com