0
私のコードはこのようにうまく動作します。そこ複数div
sがあると$chat_id
は各div
に対して一意であるので、彼らは次のようになります。Ajax関数は1つのdiv内でのみ動作しています
<div id=chatbox_1>...
<div id=chatbox_2>...
...etc.
のindex.php:
<div id="chatbox_<?php echo $chat_id; ?>" >
<script type="text/javascript" >
$(document).ready(function(){
$('#chatbox_<?=$chat_id?>').load('chat.php?id=<?=$chat_id?>')
});
</script>
</div>
chat.php:
<?php
include 'db.php';
if (isset($_GET['id'])){
$c_id = $_GET['id'];
}
$query = "SELECT * FROM `chat` where `chat_id`='$c_id'";
$run = $con->query($query);
while($row = $run->fetch_array()){ ?>
<div id="chat_data">
<span style="color:brown;"><?php echo $row['msg']; ?></span>
</div>
<?php } ?>
問題は、私はこのajaxを試しているときにそれはworkiだけです1の場合はdiv
。その他div
sがchat.php
<div id="chatbox_<?php echo $chat_id; ?>" >
<script type="text/javascript" >
function ajax(){
var req = new XMLHttpRequest();
req.onreadystatechange = function(){
if(req.readyState == 4 && req.status == 200){
document.getElementById('chatbox_<?=$chat_id?>').innerHTML = req.responseText;
}
}
req.open('GET','chat.php?id=<?=$chat_id?>',true);
req.send();
}
setInterval(function(){ajax()},1000);
</script>
</div>
.load
が完璧に働いているロードされていませんが、このAjaxの機能は一つだけdiv
のために働いています。残りは空です。私はここで何を変えるべきですか、それとも他の方法を使うべきですか?
それは1のために動作します上記のコードのように 'id'を使用すると、各chat_idsにロードする場合、' id'ではなく 'class'を使用し、' .each'関数を使用して各クラスをループする必要があります –