3

MySQL データベース テーブルから取得した一連の単語を一覧表示する PHP ページがあります。テーブル内のカウントに基づいて、単語をさまざまなサイズで表示します。

<?php
 $selectStr = "select * from test";

 if ($results = MySQL($dbName, $selectStr))
 {
  $rowCount = MySQL_NUMROWS($results);
 }

 $i = 0;
 while ($i < $rowCount)
 {
  echo '<div style="float: left; font-size:' . (MySQL_RESULT($results,$i,'count') * 5) . 'px;">' . MySQL_RESULT($results,$i,'word') . '</div>';
  $i++;
 }
?>

秘訣は、コンテンツを動的に表示することです。したがって、ユーザーがページに座っていて、単語数の 1 つが増えた場合、ユーザーがページを更新せずに単語のサイズを変更したいと考えています。

私はjQueryの初心者です。以前に少し使用したことがありますが、例のみを使用しています。更新せずにページのコンテンツを動的に変更するように、誰かが私を良い方向に導くことができますか?

4

2 に答える 2

3

このようにページの本文を自動更新できます... give body id='body'

 <html>
 <head>
    <script type="text/javascript">
       var auto_refresh = setInterval(
         function ()
         {
          $('#body').load('wordscount.php').fadeIn("slow");
         }, 10000); // refresh every 10000 milliseconds
    </script>
 </head>
 <body>
     <div id='content'></div>
 </body>

head タグ内に jquery を含めることを忘れないでください

于 2012-08-30T14:27:03.713 に答える
0

30000ms ごとにファイル rowfunctie.php を呼び出し、トップバーの diff を getRows 関数の結果で埋めます。

<div id="center-rows">
  <div id="links">Nu&nbsp;</div>
  <div id="rows">
    <div id="topbar"></div>
  </div>

  <div id="rechts">&nbsp;aantal rijen</div>
</div>

<script type="text/javascript">
function doRequest() {
  jQuery("#topbar").fadeOut('slow', function() {
    jQuery.ajax({
      type: "GET",
      url: "rowfunctie.php",
      cache: false,
      success: function(html){
        jQuery("#topbar").html(html);
        jQuery("#topbar").fadeIn('slow',function() {
        setTimeout('doRequest()',30000);
      });
   }
 });
 });
}
doRequest();
</script>

rowfunctie.php は次のようになります。

<?php 
 $selectStr = "select * from test";

 if ($results = MySQL($dbName, $selectStr))
 {
  $rowCount = MySQL_NUMROWS($results);
 }

 $i = 0;
 while ($i < $rowCount)
 {
  echo '<div style="float: left; font-size:' . (MySQL_RESULT($results,$i,'count') * 5) . 'px;">' . MySQL_RESULT($results,$i,'word') . '</div>';
  $i++;
 }
?>
于 2012-08-30T14:26:35.890 に答える