我有一个名为js.php
的PHP页面,我想刷新页面而不重新加载整个页面。我知道这个问题被问了太多次但我不能理解它。我尝试了下面的代码,但它不起作用。而且我也想问,这个代码应放在哪里.js.php或其他文件?是否还有其他方法可以在不重新加载的情况下刷新页面? 它相当长但最终我想刷新页面,特别是2个变量,profittext和sumtext 请忽略斜杠代码。
js.php
<?php
//error_reporting(0);//on if need
//require "core/init.php";
//protectpage();
$bidpricepl='';
$offerpricepl='';
$sum='';
$profitText =0;
$sumText=0;
?>
<!DOCTYPE html>
<html>
<head>
<h2>Trade Page</h2>
<script type="text/JavaScript">
<!--
//function timedRefresh(timeoutPeriod) {
//setTimeout("location.reload(true);",timeoutPeriod);
//}
// -->
</script>
</head>
<body onload="JavaScript:timedRefresh(2000);">
<script>
function openWin()
{
myWindow=window.open('tradeform.php','pop','width=600,height=600');
myWindow.focus();
}
function openWin1()
{
myWindow=window.open('tradehistory.php','pop','width=1000,height=600');
myWindow.focus();
}
</script>
</head>
<body>
<table style="border:1px solid black;">
<tr>
<th style="border:1px solid black;">User Name</th><th style="border:1px solid black;">Balance</th>
</tr>
<tr>
<td style="border:1px solid black;">Eg.SEYAN</td><td style="border:1px solid black;">Eg. 50000 </td>
</tr>
</table>
<input style="display:inline" type="button" value="Create New Order" onclick="openWin()" />
<input style="display:inline" type="button" value="Trade History" onclick="openWin1()" />
<link rel="stylesheet" type="text/css" href="truefxhp.css" />
<iframe src="http://webrates.truefx.com/rates/webWidget/trfxhp.jsp?c=EUR/USD,USD/JPY,USD/CAD,EUR/JPY,EUR/CHF,GBP/USD,AUD/USD,USD/CHF" width="400" height="400" seamless></iframe>
</body>
</html>
<table style="border:1px solid black;">
<tr>
<th style="border:1px solid black;">User Name</th><th style="border:1px solid black;">Balance</th><th style="border:1px solid black;">Equity</th>
</tr>
<tr>
<td style="border:1px solid black;">SEYAN</td><td style="border:1px solid black;">50000 </td><td style="border:1px solid black;">50000 </td>
</tr>
</table>
<?php
echo "<br>";
require_once 'connect.php';
include 'start.php';
include 'functions.php';
$query = "SELECT * FROM opentrades"; //You don't need a ; like you do in SQL
$result = mysql_query($query);
echo "<table border = '1px'>"; // start a table tag in the HTML
echo "<tr><td>" . "Order Number" . "</td><td>" . "Selection" . "</td><td>" . "Date" . "</td><td>" . "Type" . "</td><td>" . "Size" . "</td><td>" . "Bid Price" . "</td><td>" . "Offer Price" . "</td><td>" ."Stop Loss" . "</td><td>" . "Take Profit" . "</td><td>" ."Profit/Loss(USD)"."</td><td>" ."Close"."</td></tr>" ; //$row['index'] the index here is a field name
while($row = mysql_fetch_assoc($result)){ //Creates a loop to loop through results
if ($row['selection']=='eur/usd')// TO RETRIEVE BID AND OFFER FOR EACH ROW
{
$bidpricepl=$bid;
$offerpricepl=$bid1;
}
elseif ($row['selection']=='usd/jpy')
{
$bidpricepl=$bid2;
$offerpricepl=$bid3;
}
elseif ($row['selection']=='usd/cad')
{
$bidpricepl=$bid4;
$offerpricepl=$bid5;
}
elseif ($row['selection']=='eur/jpy')
{
$bidpricepl=$bid6;
$offerpricepl=$bid7;
}
elseif ($row['selection']=='eur/chf')
{
$bidpricepl=$bid8;
$offerpricepl=$bid9;
}
elseif ($row['selection']=='gbp/usd')
{
$bidpricepl=$bid10;
$offerpricepl=$bid11;
}
elseif ($row['selection']=='aud/usd')
{
$bidpricepl=$bid12;
$offerpricepl=$bid13;
}
elseif ($row['selection']=='usd/chf')
{
$bidpricepl=$bid14;
$offerpricepl=$bid15;
}
if ($row['type']=="buy")
{
//$last3charsoffer = substr($row['offerprice'], -6);
//$offernodecimal = str_replace('.', '', $last3charsoffer);
//$last3charsoffer1 = substr($offerpricepl, -6);
//$offernodecimal1 = str_replace('.', '', $last3charsoffer1);
//$pips2 = ltrim($pips2, '0');
//$calcpips2=$calcpips/$minipipskiller;
//$last3charsoffer = substr($row['offerprice'], -6);
//$offernodecimal = str_replace('.', '', $last3charsoffer);
//$last3charsoffer1 = substr($offerpricepl, -6);
//$offernodecimal1 = str_replace('.', '', $last3charsoffer1);
//$minipipskiller='10';
//$offeropen=$row['offerprice'];// to define variable
//$pips=$offerpricepl-$offeropen;// to calculate difference STEP 1
//$calcpips = str_replace('.', '', $pips); //removing the deci
//$calcpips = ltrim($calcpips, '0');// remove zeros in front
//$calcpips2=$calcpips/$minipipskiller;// to divide by 10 to cut mini pips
$minipipskiller='10';
$offeropen=$row['offerprice'];
$pips=$offerpricepl-$offeropen;
$closedb=$offeropen;
$pips1=round($pips, 6);
$pips2 = str_replace('.', '', $pips1);
if ($pips2<0)
{
$pips2 = str_replace('-', '', $pips2);
$pips2 = ltrim($pips2, '0');
$pips2 = -1 * abs($pips2);
}
else {
$pips2 = ltrim($pips2, '0');
}
$pips3=$pips2/$minipipskiller;
}// PIP COUNTING
elseif ($row['type']=="sell")//FOR PIP COUNTING
{
//$last3charsbid = substr($row['bidprice'], -6);
//$bidnodecimal = str_replace('.', '', $last3charsbid);
//$last3charsbid1 = substr($bidpricepl, -6);
//$bidnodecimal1 = str_replace('.', '', $last3charsbid1);
$minipipskiller='10';
$bidopen=$row['bidprice'];
$pips=$bidopen-$bidpricepl;
$closedb=$bidopen;
$pips1=round($pips, 6);
$pips2 = str_replace('.', '', $pips1);
if ($pips2<0)
{
$pips2 = str_replace('-', '', $pips2);
$pips2 = ltrim($pips2, '0');
$pips2 = -1 * abs($pips2);
}
else {
$pips2 = ltrim($pips2, '0');
}
$pips3=$pips2/$minipipskiller;
}
//echo $pips3;
$ticksize= "0.0001";// FOR PROFIT AND LOSS
$lot1 = "100000";
$sizecalc=$row['size'] * $lot1;
if ($row['type']=="buy")
{
$profitandloss=$sizecalc*$ticksize*$pips3; //per TRADE
}
if ($row['type']=="sell")
{
$profitandloss=$sizecalc*$ticksize*$pips3; //per TRADE
}
//echo $lot1;
//echo $ticksize;
$zero= '0';
//if($profitandloss<$zero){
// echo "<div style=\"color: red;\">$profitandloss</div>";
//}
//elseif ($profitandloss>$zero){
// echo "<div style=\"color: green;\">$profitandloss</div>";
//}
if($profitandloss<$zero) {
$profitText = "<div style=\"color: red;\">$profitandloss</div>";
} elseif ($profitandloss>$zero) {
$profitText = "<div style=\"color: green;\">$profitandloss</div>";
}
// for profit and loss counting
$sum+= $profitandloss;
//
echo "<tr><td>" . $row['trade_id'] .
"</td><td>" . $row['selection'] .
"</td><td>" . $row['date'] .
"</td><td>" . $row['type'] .
"</td><td>" . $row['size'] .
"</td><td>" . $row['bidprice'] .
"</td><td>" . $row['offerprice'] .
"</td><td>" . $row['stoploss'] .
"</td><td>" . $row['takeprofit'] .
"</td><td>" . $profitText .
"</td><td><a href ='delete.php?id=".
$row['trade_id']."'>X</a>
</td></tr>";
$profitandloss=0;
if($sum<$zero) {
$sumText = "<div style=\"color: red;\">$sum</div>";
} elseif ($sum>$zero) {
$sumText = "<div style=\"color: green;\">$sum</div>";
}
}
echo "</table><br>";
//$result_array = $codes->result_array();
//$results = array();
//$today = time();
//foreach($codes->result_array() as $row)
//{
// if(strtotime($row['exp_date']) <= $today)
// {//-- Keep this
// $results[] = $row;
//var allLinks = document.links;
// Bind the event handler to each link individually
//for (var i = 0, n = allLinks.length; i < n; i++) {
//allLinks[i].addEventListener('click', function (event) {});
// allLinks[i].onclick = function () {
// Do something
?>
的JavaScript
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js">
$(document).ready(function() {
var reloadData = 0; // store timer
load data on page load, which sets timeout to reload again
loadData();
});
function loadData() {
$('#load_me').load('js.php', function() {
if (reloadData != 0)
window.clearTimeout(reloadData);
reloadData = window.setTimeout(loadData, 1000)
}).fadeIn("slow");
}
</script>
</head>
<body>
<div id="load_me"></div>
</body>
</html>
答案 0 :(得分:0)
您可以将此代码保存在Js.php
中如果你没有得到理想的结果,你可以使用ctr + shift + j尝试使用filrebug和chjeck来解决任何javascript错误
或者使用iframe。
答案 1 :(得分:0)
页面中存在错误,导致脚本无法正常工作
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js">
$(document).ready(function() {
var reloadData = 0; // store timer
// ----- load data on page load, which sets timeout to reload again
loadData();
});
function loadData() {
$('#load_me').load('js.php', function() {
if (reloadData != 0)
window.clearTimeout(reloadData);
reloadData = window.setTimeout(loadData, 1000)
}).fadeIn("slow");
}
</script>
</head>
<body>
<div id="load_me"></div>
</body>
</html>
请参阅标记为// -----
的行答案 2 :(得分:0)
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
function loadData() {
$('#load_me').load('js.php', function() {
if (window.reloadData != 0)
window.clearTimeout(window.reloadData);
window.reloadData = window.setTimeout(loadData, 1000)
}).fadeIn("slow");
}
window.reloadData = 0; // store timer load data on page load, which sets timeout to reload again
loadData();
});
</script>
</head>
<body>
<div id="load_me"></div>
</body>
</html>
答案 3 :(得分:0)
因为你的ajax请求转到同一页面。 您可以将ajax发送到其他php(test.php)文件 在test.php中只生成要在div中显示的内容
<div id="load_me">
$data
</div>
只需回显$ data
然后退出。
更改$('#load_me')。load('test.php',function().....
答案 4 :(得分:0)
您需要使用ajax为此Check here
使用jquery加载函数答案 5 :(得分:0)
只需使用AJAX(异步JavaScript和XML)。 Click here for more info
如果不刷新整页内容,就无法将PHP用于页面的特定部分