比如在页面上现在是显示:1000,这1000是从数据库读出来的数据,这时我从数据库里改成1010,页面上也要在不刷新页面的情况下自动变成:1010。能实现吗?听说可以用:XML+PHP+javascript来实现,但只是听说。

解决方案 »

  1.   

    我现在只是举例说了一个数字,如何数字上百个以上那怎么办??都是iframe那要用上百个了!!!!
      

  2.   

    用xmlhttp~~~~~~~~
    先把数据库内容读入xml中index.htm 如下:
    <SCRIPT language=javascript>
    <!--
    function bar(){
    var oXMLDoc = new ActiveXObject('MSXML');             //创建'MSXML'对象
    sURL = "login.php"      //获取登陆状态数据的地址
    oXMLDoc.url = sURL;     //load数据
    var oRoot=oXMLDoc.root;     //获取返回xml数据的根节点
    if(oRoot.children != null)  
    {
    xx.innerHTML = "" ;
    //根据返回的数据在客户端显示
    for(i=0; i<oRoot.children.length; i++)
    {
    xx.innerHTML += oRoot.children.item(i).text + "<br>" ;       //用户
    }
    }
    var timeoutid = setTimeout("bar()",1500)
    }      //每1.5秒重获一次数据,}
    //-->
    </SCRIPT><body leftmargin="0" onLoad="bar()">
    <span id=xx></span>
    </body>其中login.php如下:
    <?php 
    echo "<?xml version=\"1.0\" encoding=\"gb2312\" ?>\n" ;
    ?>
    <plan>
    <xx>
    <nickname><?php echo time(); ?></nickname>
    <content>稚鹰网际开发室</content>
    </xx>
    <xx>
    <nickname><?php echo time(); ?></nickname>
    <content>www.zhiin.net</content>
    </xx>
    </plan>
      

  3.   

    数据库自动“推”?好像还没这种技术吧?不过利用XMLHttp到可以实现不刷新更新页面。
    可以在google里找xmlhttp 无刷新
      

  4.   

    用JAVASCRIPT 与PHP相结合就可以做到!!!!
      

  5.   

    iframe/div+script
    变态的大龄青年说得对
    要是再加上XMLHTTP就更好了
      

  6.   

    除非出新协议,单纯的http协议肯定不行。http是无状态的。就那个“推”技术就是 push,很多年前就有提出了,但是到现在还不见影。
    最流行的技术不一定是最好的。除非你能发明并推广新协议,否则只能用别的技术来代替
      

  7.   

    单纯的推不行,它要 实时知道那些连接到服务器的客户端,有更新然后发送客户端,这要耗费服务器资源,就算一个好的ftp,连接数要是超过10000会怎样可想而知,持续的连接会耗尽服务器资源。
    现在的http能承受百万级的访问量是因为客户端连接到服务器取回需要的页面然后就消失了,释放了资源,当然现在很多服务器会保持一段时间Alive,为了防止客户端立刻又回来而消耗在建立连接上的时间,apache的参数是
    KeepAlive On
    MaxKeepAliveRequests 100
    KeepAliveTimeout 15比较好的解决思路应该是服务器建立某个标记,浏览器隔一定时间访问一下,如果那个标记改表,就更新那个标记所指向的内容。
      

  8.   

    现在实现的无刷新都是client pull,即客户端"拉"
    不断的向服务器发请求来查看是否有刷新.
    这种实现可以通过改变任何具有src属性的html元素的src属性来和服务器进行通信.
    还可以通过xmlhttp来实现.楼上的已经说了,我就不重复了.
      

  9.   

    不可能 
    xmlhttp 所谓的新技术 最终还是要去刷数据库啦
    只是会让用户感觉不到 用过一个用XMLHTTP的聊天室,上到70人的时候 性能好低
    确实 做那些足球比分 或者 博彩方面的更新结果 比较好
      

  10.   

    就那个“推”技术就是 push,很多年前就有提出了,但是到现在还不见影。因为该技术在浏览器和服务器间建立一个tcp/ip连接,而ie不支持这样的连接。所以该技术至少在国内是无法推广了。你可以考虑用flash或java applet来完成这一工作。楼上的所有方法都是在变相的“刷新”
      

  11.   

    对,我也同样高手们的技术方案,只能通过微软的MSXML来做,这样才有可能完成要求!
      

  12.   

    TO: 回复人: zhiin(〃稚鹰〃) ( ) 信誉:110  用xmlhttp~~~~~~~~
    先把数据库内容读入xml中..........要你的代码,如我要从数据表user取得字段money是值,应该加在哪呢??你有QQ吗?
      

  13.   

    这个。。
    xml是你自己输出的阿
    你想加在哪里就加在哪里
      

  14.   

    例子:
    http://www.goldengrand.com/jacky/chat
      

  15.   

    <?
    require("lib/info.php");
    ?>
    <head>
    <title>Chat</title><script src="xmlhttp.js" type="text/javascript"></script>
    <script language="javascript"> function GetUserList() {  url="user.php";  xmlhttp.open("GET",url,true);
      xmlhttp.onreadystatechange=function() {
       if (xmlhttp.readyState==4) {
    NameList.innerHTML=xmlhttp.responseText;
       }
      }
     xmlhttp.send();
     setTimeout("GetUserList()",2000);

     return false
    }
    </script>
    <?
    $sql->queryrow("select * from news where news_id='181'");
    $row=$sql->data;
    echo $num=$row[click];
    ?>
    <body onload="GetUserList()" bgcolor='buttonface'>
    <div id='NameList'></div>
    </body>我想要$num这个值是不要刷新就更新的!!!
      

  16.   

    你把我上面发的代码中的<?php echo time(); ?>改为:
    <?php
    $host = "localhost" ;
    $user = "root" ;
    $pass = "" ;
    $db = "yourDB" ;
    $link = @ mysql_connect($host, $user, $pass) or die("Cann't select database!") ;
    mysql_select_db($db, $link) or die("Cann't select database!") ;
    $query   = "select * from yourTable where id=1 " ;
    $result  = mysql_query($query) ;
    $row     = mysql_fetch_array($result) ;
    echo $row[user] ;
    ?>
    并建一个yourDB数据库 然后在yourDB数据库中建一个yourTable数据表, 使:
    id               user
    -------------------------------
    1                xiaoming
    然后把表中xiaoming改为zhangshan试试!!!
      

  17.   

    OK,真的可以了,太高兴了,谢谢!//login.php文件
    <?php 
    require("lib/info.php");
    echo "<?xml version=\"1.0\" encoding=\"gb2312\" ?>\n" ;
    ?>
    <plan>
    <?
    $sql->Query("select * from news order by date desc limit 0,8");
    $count=$sql->rows;
    for($i=0;$i<$count;$i++) {
    $sql->Fetch($i);
    $click=$sql->data[click];
                      echo "<table width=500>"; //会出错!!
    echo "<xx>";
    echo "<nickname>".$click."</nickname>";
    echo "<content>次</content>";
    echo "</xx>";
                      echo "</table>";//会出错
    }
    ?>
    </plan>可是为什么不能批量显示呢??
    echo "<table width=500>"; //会出错!!
    <plan></plan>之间不能加入html语言????
      

  18.   

    内签Java程序或参考MRTG流量统计类
      

  19.   

    你可以使用一个隐藏的iframe,使用javascript让iframe进行刷新,再将结果返回给主界面。大家好,我们公司最近开发了一个免费电影网站,请大家多多光临。(http://www.crethelper.com)
      

  20.   

    你见过,好多像google,yahoo.等上网上助手没有,那绑在IE上面滚动的新闻就看上去是无刷新的,,里面是用xml和.dll实现的。