गुगलिंग और खोज के एक सप्ताह के बाद। मुझे data.text नामक एक फ्लैट टेक्स्ट फ़ाइल की बजाय डेटाबेस तालिका से लंबे मतदान के बारे में एक भी ट्यूटोरियल ढूंढना मुश्किल है। वर्तमान में, मैं data.text में मैन्युअल रूप से कुछ भी लिखता हूं और यह तुरंत ब्राउज़र में दिखाई देता है।डेटाबेस डेटा के साथ लंबे मतदान?
यह सवाल है: डेटाबेस का उपयोग करके लंबे मतदान? StackOverflow में भी ठीक से जवाब नहीं दिया गया है। (मैं यहाँ लेकिन व्यर्थ में एक बहुत मिल गया।)। इस का उदाहरण भी यहाँ है filemtime alternative for MySQL
मैं इसे कैसे डेटाबेस से डेटा प्राप्त करने में सक्षम के लिए बनाने के लिए getdata.php संशोधित कर सकते हैं?
$sql=mysqli_query($database,"SELECT * FROM messages where time>=$curr_date ORDER by time DESC");
while($row=mysqli_fetch_array($sql)){
$messages=$row['messages'];
$id=$row['id'];
echo $messages;
}
संदेश तालिका
id fro to mesg time status last_modified
मैं यहाँ एक उदाहरण लिस्टिंग हूँ इस प्रकार है। इस उदाहरण में, तीन फाइलों का उपयोग किया जा रहा है।
- index.html
- getdat.php
- data.text
वहाँ डेटाबेस से डेटा प्राप्त करने के लिए (mysql) चौथी फ़ाइल बनाने के लिए किसी भी आवश्यकता है? यदि नहीं, तो डेटाबेस से गतिशील डेटा का उपयोग करने के लिए getdata.php या data.text में किस प्रकार के परिवर्तन आवश्यक हैं?
यहाँ मेरी जावास्क्रिप्ट
<script type="text/javascript" charset="utf-8">
var timestamp = null;
function waitformsg() {
$.ajax({
type:"Post",
url:"getdata.php?timestamp="+timestamp,
async:true,
cache:false,
success:function(data) {
var json = eval('(' + data + ')');
if(json['msg'] != "") {
$("#messages").append(json['msg']);
}
timestamp = json["timestamp"];
setTimeout("waitformsg()", 1000);
},
error:function(XMLhttprequest, textstatus, errorthrown) {
alert("error:" + textstatus + "(" + errorthrown + ")");
setTimeout("waitformsg()", 15000);
}
});
}
$(document).ready(function() {
waitformsg();
});
</script>
यहाँ getdata.php फ़ाइल
<?php
include("../model/includes/classes.php");
$filename='data.php';
$lastmodif=isset($_GET['timestamp'])?$_GET['timestamp']:0;
$currentmodif=filemtime($filename);
while($currentmodif<=$lastmodif){
usleep(10000);
clearstatcache();
$currentmodif=filemtime($filename);
}
$response=array();
$response['msg']=file_get_contents($filename);
$response['timestamp']=$currentmodif;
echo json_encode($response);
?>
स्टैक ओवरफ़्लो में आपका स्वागत है। यदि आप अपने प्रश्न को स्पष्ट करते हैं तो यह आपको उत्तर पाने में मदद करेगा। ऐसा लगता है कि आप एक वेब पेज (जावास्क्रिप्ट में क्लाइंट एप्लिकेशन के रूप में भी जाना जाता है) बना रहे हैं जो आपके सर्वर को मतदान करने के लिए AJAX का उपयोग करना है। ऐसा लगता है कि आप पहले AJAX अनुरोध को अपने तालिका में पहले से संग्रहीत सभी संदेशों को पुनर्प्राप्त करने के लिए getdata.php से अनुरोध करना चाहते हैं, और बाद के अनुरोधों के लिए हालिया अनुरोधों के बाद से आने वाले किसी भी नए संदेश को पुनर्प्राप्त करने के लिए अनुरोध करें। क्या वो सही है? साथ ही, कृपया अपनी 'संदेशों' तालिका की परिभाषा दिखाएं। –
@OllieJones आपकी प्रतिक्रिया के लिए धन्यवाद। आप मुझे इस प्रश्न को हल करने के लिए आखिरी उम्मीद महसूस करते हैं। वास्तव में। मैं लंबी मतदान तकनीक का उपयोग कर चैट एप्लिकेशन को बढ़ा रहा हूं। मैसेज टेबल सिर्फ एक स्टैंडर्ड चैट टेबल है जिसमें आईडी, से, संदेश, समय कॉलम –