等待在数据库中逐个取值

时间:2016-05-16 18:27:56

标签: php jquery mysql

<?php
$host= "localhost";
$user= "xxxxxx";
$pass= "xxxx";
$db="xxxxxxx";

$connect= mysql_connect($host,$user,$pass);
if (!$connect)die ("Cannot connect!");
mysql_select_db($db, $connect);

$result = mysql_query("
    SELECT
        *
    FROM
        values
");

if($result){
    while($row = mysql_fetch_array($result, MYSQL_ASSOC)){

$url = $row['value'];
echo '<li><iframe src="http://xxxxxxx.xxxx/xxxx.php?value='.$url.'" width="300" height="100" scrolling="no" frameBorder="0""></iframe></li>';
}
}
?>

这是我用来从数据库中获取值的php代码。我想在每个值中使用时间延迟。

喜欢

 http://xxxxxxx.xxxx/xxxx.php?value='.$url.'
wait 5 sec
http://xxxxxxx.xxxx/xxxx.php?value='.$url.'
wait 5 sec

等等。

我有什么方法可以做到这一点。

感谢。

1 个答案:

答案 0 :(得分:0)

  1. 错误答案:在()内使用sleep(5)。

  2. 正确答案:

  3. a)你不应该使用mysql_ * functions

    b)如果您需要延迟,请获取所有行,然后使用JS逐个输出它们。

    OR:

    c)再次使用JS和ajax,每5秒查询一次新行

    如果您坚持错误的答案,您的脚本将在第6行(在默认的php安装中)超时超时

    您应该更好地了解客户端/服务器架构:

    mysql查询和你的php代码是服务器端,它不会向浏览器(你的访问者)返回任何输出,直到它结束,你不希望你的访问者等待30或300秒的服务器回复。

    因此,您只有选择:每隔5秒查询一次新图像,或者查询所有图像并迭代它们。

    有很多关于该主题的jquery / javascript教程。