Ich habe versucht, ein Chat-System mit PHP + Ajax + MySQL erstellen.den Chat-Body für jeden der Benutzer aktualisieren
<?php
session_start();
?>
<html>
<head>
<title>Live Table Data Edit</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body>
<div class="container">
<br />
<br />
<br />
<div class="table-responsive">
<h3 align="center">You Are : <?php echo $_SESSION['name'];
?></h3><br />
<div id="live_data"></div>
</div>
<div id="messages"></div>
<div class="area" style="display:none">
<textarea id="text" name="text"></textarea>
<input type="submit" id="sub" name="sub" value="Send" />
</div>
</div>
</body>
</html>
<script>
$(document).ready(function() {
function fetch_data() {
$.ajax({
url: "select.php",
method: "POST",
success: function(data) {
$('#live_data').html(data);
}
});
}
fetch_data();
$(document).on('click', '.first_name', function() {
var id = $(this).data("id1");
function fetch_chat() {
$.ajax({
url: "fetch_chat.php",
method: "POST",
data: {
id: id
},
dataType: "text",
success: function(data) {
$('#messages').html(data);
$("div.area").show();
}
});
}
function myTimeoutFunction() {
fetch_chat();
}
myTimeoutFunction();
setInterval(myTimeoutFunction, 1000);
fetch_chat();
$("#sub").click(function() {
var text = $("#text").val();
$.post('insert_chat.php', {
id: id,
msg: text
}, function(data) {
$("#messages").append(data);
$("#text").val('');
});
alert(text);
});
});
});
</script>
aber das Problem mit diesem Code ist, dass es nur für den ersten Benutzer arbeitete ich mit Chat aber der Bildschirm blinken beginnen häufig, wenn ich auf andere Benutzer klicken name. Beispiel: Benutzer 'a' ist angemeldet und klickt auf Benutzer 'b' und startet den Chat. Alles funktioniert bis jetzt gut, aber wenn Benutzer 'a' denkt, mit einem anderen Benutzer zu chatten 'c' beginnt der gesamte Chat-Teil mit allen in der Datenbank gespeicherten Chats zu blinken. Bitte sag mir wo ich falsch liegen soll.
Danke für Ihre Hilfe. Es funktioniert wirklich für mich. und du wurdest vorgeschlagen, websockets, also kannst du einen Link teilen, um zu lernen, websockets in php zu benutzen. Danke noch einmal. –
Kein Problem Ich habe keine Websockets benutzt, tbh, ich kenne nur die Theorie, also bin ich wahrscheinlich nicht die beste Person, die nach einer bestimmten Ressource fragt. Aber ich weiß nur aus dem Googeln des Themas, dass Open-Source-Projekte existieren, die behaupten, dass man sie nutzen kann, um eine funktionierende PHP-Websocket-Lösung leichter zu bekommen, als dies von Grund auf selbst zu tun. – ADyson
benötigen Sie weitere Hilfe: https://stackoverflow.com/questions/47112045/cant-scroll-up-the-div-contents –