<?php
  $query3 = "SELECT message FROM messageslive LIMIT 1";
  $result3 = mysql_query($query3,$connection) or die (mysql_error());
  confirm_query($result3);
  while($userinfo3 = mysql_fetch_array($result3)){
      $msgLive = $userinfo3['message'];
  }
?>

<script type="text/javascript">
  var msg = "<?php echo $msgLive ; ?>";
</script>

मुझे चिंता तब होती है जब डेटाबेस तालिका में खोजने और पुनर्प्राप्त करने के लिए बहुत अधिक डेटा होता है, इसलिए PHP चर $msgLive का अभी तक कोई मूल्य नहीं है, इसलिए Javascript चर var msg को खाली मान मिलता है। जावास्क्रिप्ट से कैसे पूछें जब तक PHP वैरिएबल $msgLive को वैल्यू न मिल जाए तो केवल PHP वैरिएबल से जावास्क्रिप्ट में वैल्यू ट्रांसफर करें?

2
zac1987 12 जून 2011, 17:19

1 उत्तर

सबसे बढ़िया उत्तर

आपको इसके बारे में चिंता नहीं करनी चाहिए क्योंकि पहले सर्वर स्क्रिप्ट निष्पादित होती है, डेटाबेस के साथ संवाद करने में अपना समय लेती है, msgLive वैरिएबल को एक मान निर्दिष्ट करती है, और अंत में यह HTML उत्पन्न करती है जो क्लाइंट को भेजी जाती है। इस पूरे समय के दौरान ग्राहक प्रतीक्षा करता है (और शायद अपने आईएसपी को धीमे कनेक्शन के लिए शाप देता है जो वह अनुभव कर रहा है :-))। तो एक बार जब HTML क्लाइंट ब्राउज़र तक पहुंच जाता है तो जावास्क्रिप्ट वैरिएबल का मान सेट हो जाएगा। तो प्रतीक्षा करने के लिए जावास्क्रिप्ट को बताने की कोई आवश्यकता नहीं है, जावास्क्रिप्ट तब तक मौजूद नहीं है जब तक कि सर्वर अपना काम पूरा नहीं कर लेता और HTML को क्लाइंट को धक्का दे देता है।

8
Darin Dimitrov 12 जून 2011, 17:20
क्या होगा यदि मैं जावास्क्रिप्ट कोड के नीचे एक और PHP कोड डालता हूं? जावास्क्रिप्ट चर var msg का मान "12345" बन जाएगा?
 – 
zac1987
12 जून 2011, 17:25
3
@ zac1987, कोई फर्क नहीं पड़ता कि आपने इसे कहाँ रखा है। आपको वास्तव में सर्वर साइड कोड और क्लाइंट साइड कोड के बीच अंतर करना चाहिए। वे दो पूरी तरह से अलग प्रक्रियाएं हैं जो दो अलग-अलग समय पर हो रही हैं। पहले सर्वर जो HTML उत्पन्न करता है जो क्लाइंट को भेजा जाता है और फिर क्लाइंट उसे पकड़ लेगा और यदि इस HTML में जावास्क्रिप्ट है तो यह ब्राउज़र के अंदर चलेगा, ...
 – 
Darin Dimitrov
12 जून 2011, 17:27
तो var msg "12345" बन जाएगा। मैं इसे पहले ही समझ गया था। शुक्रिया।
 – 
zac1987
12 जून 2011, 17:32
लेकिन जब मैं तो मैं जावास्क्रिप्ट अलर्ट (""); यह सफलता चेतावनी "एबीसी" है। लेकिन जब मैं जावास्क्रिप्ट के कोड को उपरोक्त PHP कोड पर स्विच करता हूं, तो यह "एबीसी" को अलर्ट करने में विफल रहता है। यदि आपने कहा है कि PHP रन 1 खत्म करें, तो केवल जावास्क्रिप्ट चलाएं। जावास्क्रिप्ट PHP चर के मान को सचेत करने में विफल क्यों है?
 – 
zac1987
17 जून 2011, 21:48
1
जावास्क्रिप्ट PHP से पहले कभी निष्पादित नहीं होगा, इसका कोई मतलब नहीं है!
 – 
Connor Smith
18 जून 2011, 01:19