【发布时间】:2015-12-22 07:45:43
【问题描述】:
嗨,我有以下代码,它首先将值从 js 文件传递给 php
function calldata(value) {
alert(value);
jQuery.ajax({
url: "data3.php",
type: 'post',
data: value,
dataType: 'json',
success: function()
{
alert("hi");
}
});
var z = "<table>";
jQuery.ajax({
url: "data3.php",
async: false,
cache: false,
dataType: "json",
success: function(response) {
alert(response);
var p = 10;
var j = 0;
var m;
z = z + "<tr><th></th><th>1</th><th>2</th><th>3</th><th>4</th><th>lunch</th><th>5</th><th>6</th><th>7</th><th>8</th></tr>";
var k = response.length;
if (k > 10)
m = k / 10;
for (var o = 0; o < m; o++) {
z = z + "<tr>";
for (j; j < p; j++) {
var obj = response[j];
var go = obj.subject;
z = z + "<td>" + go + "</td>";
}
z = z + "</tr>";
p = p + 10;
}
z = z + "</table>";
document.getElementById("jumbo").innerHTML = z;
}
});
首先,我试图通过 ajax 将 calldata 函数中的值发送到 php 并像这样接收它
$variable = $_POST['value'];
并尝试编写一个选择查询来获取数据
$sql = "SELECT * from class1 where class=$variable";
但它不起作用,谁能告诉我正确的程序或这段代码有什么问题,因为我没有收到错误
我的 php 代码是:
$serverName = "esdapocnv01";
$connectionInfo = array( 'Database'=>'INDUS', 'UID'=>'testuser', 'PWD'=>'notmyrealpassword');
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
echo "Connection could not be established.<br />";
}
$variable = $_POST['value'];
$sql = "SELECT * from class1 where class=$variable";
$emp1array=array();
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
//example of adding extra data if required
$emp1array[]=$row;
}
echo json_encode($emp1array);
sqlsrv_free_stmt( $stmt);
【问题讨论】:
-
您在调试代码时尝试了什么?
-
是的,我试过没有错误
-
我使用 chrome 调试器显示没有错误
-
调试包括检查值、控制流。例如,您是否检查过您的
$_GET['value']的值是多少? -
这是逻辑错误。您应该只进行一次 ajax 调用:PHP 处理请求并在 that 请求上发送响应。现在你调用 PHP 两次,但第二次没有传递任何信息,所以它不能给出一个好的答案,但这就是你离开的答案。加入两个ajax请求
标签: javascript php jquery sql-server ajax