2

我有一个名为的 PHP 页面js.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>
4

6 回答 6

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>
于 2013-08-19T06:21:09.193 回答
0

这是因为您的 ajax 请求转到同一页面。您可以将 ajax 发送到其他 php(test.php) 文件在 test.php 中,只需生成要在 div 中显示的内容

<div id="load_me">
$data
</div>

只是回显 $data

并退出。

改变 $('#load_me').load('test.php', function().....

于 2013-08-19T07:05:11.217 回答
0

您可以将此代码保留在 Js.php 中

如果您没有得到想要的结果,t## en 您可以使用 ctr+shift+j 尝试 filrebug 和 chjeck 来检查任何 javascript 错误

或者使用 iframe。

于 2013-08-19T06:20:12.373 回答
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>

见标记的行 // -----

于 2013-08-19T06:20:20.080 回答
0

您需要为此使用 ajax 使用 jquery 加载功能检查这里

于 2015-03-27T05:31:40.870 回答
0

只需使用 AJAX(异步 JavaScript 和 XML)。点击这里获取更多信息

如果不刷新整个页面,您将无法将 PHP 用于页面的特定部分

于 2018-07-14T19:00:04.337 回答