这是index.php文件
从该文件中,我将值$abc传递给ALL Work Spaces,当从Size中选择任何选择并且我想在$abc选择中更改结果时,该值会将表的所有值存储到ajax

<?php
mysql_connect("localhost","username","password");
mysql_select_db("databasename");
$abc=mysql_query("select * from table_name");
?>
<select onchange="showSoft(this.value)" >
      <option value="" selected="selected">All Work Spaces </option>
      <option value="industrial">Workshop/Industrial </option>
</select>
<select name="tosize" id="tosize">
<option selected>Size</option>
<option value="100" id="softsq1">100sq ft </option>
<option value="200" id="soft2">200sq ft </option>
<option value="300" id="soft1">300sq ft </option>
</select>
<script>
function showSoft(str) {
  var xhttp;
  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
      document.getElementById("softsq1").innerHTML = xhttp.responseText;
      }
  };
  xhttp.open('GET', 'two.php?q='+str+'&w=<?php echo $abc; ?>', true);
  xhttp.send();
}
</script>


现在看到two.php文件代码
在此文件中,他们通过加注检查了中的所有值,但显示出致命错误,请帮助我如何传递该表值?

<?php
$ab=$_REQUEST['w'];
$result=mysql_fetch_array($ab);
echo $result[0];
?>


如果您还有其他窍门,请帮助我,因为它不返回值,返回致命错误

最佳答案

我建议您在one.php文件中获取值,对结果数组进行序列化并对其进行urlencode以在ajax url调用中进行解析,最后对在two.php文件中的字符串进行解码和反序列化。

因此,首先获取结果数组:

<?php
mysql_connect("localhost","username","password");
mysql_select_db("databasename");
$abc=mysql_query("select * from table_name");
$results = mysql_fetch_array($abc, MYSQL_ASSOC);
?>


在您的ajax请求中,将其解析为json字符串:

xhttp.open('GET', 'two.php?q='+str+'&w=<?php echo urlencode(serialize($results)); ?>', true);


最后检查您的two.php文件以将json字符串反序列化为数组:

<?php
$ab=$_REQUEST['w'];
$results = unserialize(urldecode($ab));
print_r($results);
?>


顺便注意一下:


  mysql_fetch_array在PHP 5.5.0中已弃用,在PHP 7.0.0中已删除。相反,MySQLi或PDO_MySQL扩展名应为
  用过的。

关于javascript - 如何将特定的表值传递给我们从数据库表获得的ajax?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38321308/

10-09 00:56
查看更多