gpt4 book ai didi

php - 自动从 mysql 数据库更新 xml feed,无需刷新页面

转载 作者:行者123 更新时间:2023-11-29 14:13:31 27 4
gpt4 key购买 nike

我必须使用 php 代码从 mysql 数据库开发一个 xml feed。这里我必须插入或更新 mysql 数据库上的任何数据,这意味着插入和更新的数据会自动更改并插入到我的 xml feed 上,而无需刷新页面.我该如何开发这个。请帮助我。

我使用了以下代码:

$catname=func_query_first_cell("select status from $sql_tbl[orders] where status='Q'");
$file= fopen("orderdetails1.xml", "w");
$_xml ="<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\r\n";
$_xml .="\t<Feed>\r\n";
$_xml .="\t<order>\r\n";

$_xml .="\t<status>" .htmlspecialchars($catname,ENT_QUOTES). "</status>\r\n";
$page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
$limit = 2;
$startpoint = ($page * $limit) - $limit;
$statement = "`xcart_orders` where `active` = 1";
$counterr=0;
$r=func_query("select * from $sql_tbl[orders] LIMIT {$startpoint}, {$limit}");
foreach($r as $n)
{
$products=func_query_first("select * from $sql_tbl[orders] where status='Q'");
$products=func_query_first("select product from $sql_tbl[order_details] where orderid=$n[orderid]");

$infeed_counter++;

echo $manufacturer."=====";

if($row[avail]>0)
$avail='Y';
else
$avail='N';


$_xml .="\t<Order>\r\n";
$_xml .="\t<orderid>" .$n[orderid]. "</orderid>\r\n";
$_xml .="\t<login>" . htmlspecialchars(strip_tags(substr($n[login],0,50)) , ENT_QUOTES ). "</login>\r\n";
$_xml .="\t<total>" . $n[total]. "</total>\r\n";
$_xml .="\t<product>" . $products[product]. "</product>\r\n";
$_xml .="\t</Order>\r\n";
}

$_xml .="\t</order>\r\n";
$_xml .="\t</Feed>\r\n";
fwrite($file, $_xml);
fclose($file);
echo "XML version of products available here with $infeed_counter products. <a href=\"orderdetails1.xml?page=$page\">View the XML.</a>";
exit;
?>

现在我得到了以下 xml feed:

<Feed>
<order>
<status>Q</status>
<Order>
<orderid>1</orderid>
<login>krishna</login>
<total>399.99</total>
<product>Designing Web Usability</product>
</Order>
<Order>
<orderid>65</orderid>
<login>krishna</login>
<total>399.99</total>
<product>Three Stone Princess Cut Diamond Ring</product>
</Order>
<Order>
<orderid>2</orderid>
<login>krishna</login>
<total>34.65</total>
<product>Three Stone Princess Cut Diamond Ring</product>
</Order>

现在我希望将我的 mysql 数据库上的 orderid=1 的总计 399.99 更改为 500.00 意味着必须刷新页面。然后这里只有我的 xml feed 被更改。但我希望需要的解决方案是数据库更改是自动的更新我的 xml feed,而不刷新页面。请帮助我。我该如何开发这个。

最佳答案

尝试这样:feed.php

$catname = func_query_first_cell("select status from $sql_tbl[orders] where status='Q'");
$file = fopen("orderdetails1.xml", "w");
$_xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
$_xml .= "<Feed>";
$_xml .= "<order>";

$_xml .= "<status>" . htmlspecialchars($catname, ENT_QUOTES) . "</status>";
$page = (int)(!isset($_GET["page"]) ? 1 : $_GET["page"]);
$limit = 2;
$startpoint = ($page * $limit) - $limit;
$statement = "`xcart_orders` where `active` = 1";
$counterr = 0;
$r = func_query("select * from $sql_tbl[orders] LIMIT {$startpoint}, {$limit}");
foreach ($r as $n)
{
$products = func_query_first("select * from $sql_tbl[orders] where status='Q'");
$products = func_query_first("select product from $sql_tbl[order_details] where orderid=$n[orderid]");

$infeed_counter++;

// echo $manufacturer."=====";

if ($row[avail] > 0)
$avail = 'Y';
else
$avail = 'N';


$_xml .= "<Order>";
$_xml .= "<orderid>" . $n[orderid] . "</orderid>";
$_xml .= "<login>" . htmlspecialchars(strip_tags(substr($n[login], 0, 50)), ENT_QUOTES) . "</login>";
$_xml .= "<total>" . $n[total] . "</total>";
$_xml .= "<product>" . $products[product] . "</product>";
$_xml .= "</Order>";
}

$_xml .= "</order>";
$_xml .= "</Feed>";

header ("Content-Type:text/xml");
echo $_xml;

在 XML feed URL 中访问如下:

http://www.exampleyourdoamin/feed.php

关于php - 自动从 mysql 数据库更新 xml feed,无需刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13081092/

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