通过ajax传递字符串变量

时间:2014-02-19 04:20:32

标签: javascript php ajax

变量通过ajax传递,它是一个数据库名称。单击链接时,它应该从数据库中检索数据。链接和变量在同一页面上。以下是链接的代码:

$x = strval($_GET['x']);    

echo '<a href="#" onclick="showInformation('.$x.')">'.$seatid.'</a>';

$ x变量包含数据库的表名。这是ajax的代码:

function showInformation(str)
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtInfo").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getinfo.php?x="+str,true);
xmlhttp.send();
}

这是getinfo.php:

<?php
session_start();
$_SESSION['login']="1";
$x = strval($_GET['x']);

$con = mysql_connect('localhost','root','Newpass123#','seatmapping');    
if (!$con){
    die('Could not connect: ' . mysql_error());
}

mysql_select_db('seatmapping');
$sql="SELECT name, seatid FROM $x WHERE seatid = 1";
$result = mysql_query($sql) or die("Query Error " . mysql_error());
...
...
?>

当我点击它不显示表格中的数据的链接时,我无法使其工作。 请帮我。任何形式的帮助表示赞赏。提前谢谢..

2 个答案:

答案 0 :(得分:0)

您没有传递预期元素的ID

echo '<a href="#" id="txtInfo" onclick="showInformation('.$x.')">'.$seatid.'</a>';

替换此行,而不是

echo '<a href="#" onclick="showInformation('.$x.')">'.$seatid.'</a>';

答案 1 :(得分:0)

请你试试这个:

替换

 echo '<a href="#" onclick="showInformation('.$x.')">'.$seatid.'</a>';

以下内容:

echo '<a href="#" onclick="showInformation(\''.$x.'\')">'.$seatid.'</a>';

这将解决您的问题。