从JavaScript传递两个参数到PHP文件和ECHO结果

时间:2017-02-24 17:55:10

标签: javascript php

在我的php文件中,我试图运行一个非常大的SQL语句,它接受begindateenddate的参数 - SQL语句有8个CTE,其中4个接受参数。

我页面上onclick()的事件触发JavaScript将变量传递给我的php文件。我的问题是应该保存变量的div标记在结尾处是空的。

为了将我的结果成功返回到我的php页面,应如何更改? (在SSMS中手动运行时,查询将返回大约10列和大约500行)

HTML

begin: <input type="date" name="begin" id="begin" /> 
end: <input type="date" name="end" id="end" />

<div id="results"></div>
<input type="submit" value="click" id="btn" onclick="Query()" /></div>

的JavaScript

xhr.onreadystatechange = function()
{ if (xhr.readyState == 4 && xhr.status==200)
{ document.getElementById("results").innerHTML = xhr.responseText; } }
 var begin = document.getElementById("begin").value;
 var end = document.getElementById("end").value;
 xhr.open("GET", "Help.php?begin="+begin+"&end="+end, true); 
 xhr.send();

我的php文件读起来像这样(至少在开头显示参数的传入位置)

$begin = $_GET['begin'];
$end = $_GET['end'];

我的语法设置错误,阻止数据返回?

修改
这是我的php文件的设置

<?php

$begin = $_GET['begin'];
$end = $_GET['end'];

$conn = mssql_connect('Server','username','pwd') 

if ($conn===false)
{
    echo '<p>Cannot connect to SQL Server Database. Please try again later.</p>';
    exit;
}
if (mssql_select_db("DB",$conn) === false) 
{
    echo '<p>Cannot connect to DB. Please try again later.</p>';
    exit;
}
$proc = mssql_init('ProcName',$conn);
mssql_bind($proc,'@begin',$begin,SQLVARCHAR);
mssql_bind($proc,'@end',$end,SQLVARCHAR);
if ($result = mssql_execute($proc)) 
{
    $number_of_rows = mssql_num_rows($result);
    if($number_of_rows > 0) {
        echo "It Worked"
    }

    mssql_close($con);
}

?>

0 个答案:

没有答案