php - 每 5 秒调用 mysql 查询

标签 php javascript mysql ajax

我正在尝试根据时间农场自动调用mysql查询内容以将其显示为一行显示mysql查询内容

我能够使定时器功能,但我不能用ajax函数植入它来自动调用mysql查询

我需要的是将我在 loop() 函数中创建的变量放入 ajax 函数 showUser(str)

这是我的带有 javascript 和 ajax 代码的 html:

<html>
<head>
<script>


var x=0;
function loop() {
    x= x+1;
if (x == 100) x = 1;
document.getElementById("timevar").innerHTML=x;    
setTimeout("loop()", 5000);     
}    loop(); 

function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  } 
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("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getuser.php?q="+str,true); \\ timevar should be instead of str
xmlhttp.send();
}
</script>
</head>
<body>

<form>
<select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>
</form>
<br>
<div id="txtHint"><b>Person info will be listed here.</b></div>

</body>
</html>

timevar 应该代替 str 或将它的值赋给 showUser 函数

这是页面上调用 getuser.php 的 php 代码:

<?php
$q=$_GET["q"];

$con = mysql_connect('localhost', 'peter', 'abc123');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("ajax_demo", $con);

$sql="SELECT * FROM user WHERE id = '".$q."'";

$result = mysql_query($sql);

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Comments</th>
<th>Clicks</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Comments'] . "</td>";
  echo "<td>" . $row['Clicks'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

mysql_close($con);
?>

我想做的是让每个名字和它的信息在同一行出现和翻转..我不希望它们出现在表格中..我试图让它更有活力

感谢任何帮助..非常感谢

最佳答案

您可能会发现使用 jQuery 来处理您的 ajax 调用可能会让您的生活更轻松。

http://api.jquery.com/jQuery.get/

    $.get('ajax/callmySQL.php');

关于php - 每 5 秒调用 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14592934/

相关文章:

php - Pthreads PHP : execute Foreach Loop in Parallel

php - Ajax 调用加载好友并在个人资料页面上显示

javascript - 根据浏览器窗口大小流畅地调整所有图像的大小

Javascript:从替换中的正则表达式中排除

sql - MySQL 是否使用现有索引来创建新索引?

php - 用 PHP 绘制 Google 图表

php - Paypal 沙盒 - 在我用表单发布变量后你的购物车是空的?

javascript - 使用 jQuery 单击元素时获取数据属性的值?

sql - 是否可以根据条件以两种不同的方式对 SELECT 查询的结果进行排序?

php - 将多个选择值从 html 插入 mysql 数据库