2017-08-20 7 views
1

Webページの関数構築の手掛かりについて質問したいと思います。ターゲットは、MySQLテーブルから1つのセルを読み込み、Webページテーブルの1つのセルに配置することです。次に、このセルはx秒ごとにセルフリフレッシュする必要があります。全体のWebページテーブルは、最初から25行で25個のリフレッシュ列を持ちます。 Mysqlテーブルには26個のカラムがありますが、必要なデータと編集可能なデータは25個だけです。js/jquery/ajaxを使用して正確なmysqlセルの内容を取得する

コーディングのビット:

メインサイト:用に別の.phpファイル内のWebさわやかなコンテンツが含まれていますページ細胞、(今非稼働とプロトタイプのコードを含みます)

<td>map_loader2(1,2) &nbsp;<div id="whateva"></div></td>  

PHP要求を関数を呼び出す(ここでしか私は確信してその適切に書かれており、作業):最後に

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "admin"; 
$dbname = "map"; 
$loader="select c$column from map_1 WHERE map_1.RowNumber = $row "; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 


$result=$conn->query($loader); 
$array = mysql_fetch_row($result); 
echo json_encode($array); 
if ($conn->query($loader) === TRUE) { 
    // echo "Updated successfully"; 
    header("Location: http://sectortrader/main_site_editor.php"); /* Redirect browser */ 

} else { 
    echo "Error updating record: " . $conn->error; 
} 

$conn->close(); 
?> 

- 私は多くの失敗とは異なる数十の後に作成するために管理してきたものいくつかの他のソースとW3でのドキュメントの無数のページを持つ耳鼻咽喉科チュートリアル:今、それが唯一のように、5秒後にリフレッシュ用として

<script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
<script language="javascript" type="text/javascript"> 
setInterval(function map_loader2(column, row) 
    { 
    $("#whateva").load("map_loader_query.php"); 
    },5000); //refreshing interval 
</script> 

(ただし、エラーを表示する - それは、クエリのために適切な値を取得していないため)ものではなく、私はそれが関数の引数を取るように強制する方法を理解できません。私はPHPとMySQLでは非常に緑豊かで、js/jQuery/ajaxで初心者は完全です。しかし、私が書こうとしているこのミニゲームは、私の弱いスキルを向上させようとしています。

時間を割いてくれてありがとう。

PS。 私は完全に私が以前tryiedきた機能を共有するのを忘れてました。それに

<?php 

function map_loader($column, $row) 
    { 
    $servername = "localhost"; 
    $username = "root"; 
    $password = "admin"; 
    $dbname = "map"; 
    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // Check connection 
    if ($conn->connect_error) 
     { 
     die("Connection failed: " . $conn->connect_error); 
     } 
    $loader="select c$column from map_1 WHERE map_1.RowNumber = $row "; 
    $result=$conn->query($loader); 
    $conn->close(); 
    return $result; 
    } 
?> 

を私は次のようにそれを使用することを望んだ:

<tr> 
     <td rowspan="25">&nbsp;</td> 
     <td>1</td> 
     <td>window.map_loader2(1,1) &nbsp;</td> 
     <td>map_loader2(1,2) &nbsp;<div id="whateva"></div></td> 
     <td>&nbsp;</td> 
. 
. 
. 
<tr> 
     <td>2</td> 
     <td><?php map_loader(2,1); ?>&nbsp;</td> 
     <td><?php map_loader(2,2); ?>&nbsp;</td> 
     <td>&nbsp;</td> 
. 
. 
. 

そしてそうに、そして再び、もう一度やり直してください...もちろん、それは何とかすることもできますが、第一にそれを機能させたい、第二にそれを改善することができます。残念ながら、それは私が が欲しいほどとてもイースリーではありません。

答えて

0

まず、達成したいことを行うには、Ajaxを使用する必要があります。 5秒ごとに実行されるインターバル関数を作成し、その中でajaxがmap_loader_query.phpページを呼び出し、成功関数がデータを返します。 DBから照会されたデータがちょうどhtmlの場合は、div whatevaまたはtdの中に照会されたデータを挿入する必要があります。

<td><div id="whateva"></div></td>  

<script> 
    setInterval(function() 
    { 
     $.ajax({ 
      type:"post", 
      url:"map_loader_query.php", 
      success:function(data) { 
       $('div#whateva').html(data); 
      } 
     }); 
    }, 5000); 
</script> 
関連する問題