2013-04-30 44 views
0

我試圖讓一個jQuery腳本根據是否檢查數據庫中的數據的PHP if語句來不同地更新HTML段落標記的內容是否爲真:如何在PHP中觸發jQuery腳本if語句

if ($num_rows > 0) { ?> // If results are returned from database... 

<script> 
    $(document).ready(function() { 
    $('p.message').text('Some data'); // ... p should read 'Some data' 
    }); 
</script> 

<?php else {   // otherwise 
<script> 
    $(document).ready(function() { 
    $('p.message').text('No data'); // ...p should read 'No data' 
    }); 
</script> 
} 

內容旨在動態更改,無需刷新頁面,但不要這樣做。只有在頁面刷新後才顯示新值。

任何想法總是非常感激。

+0

你不能在服務器上執行jQuery。 – 2013-04-30 15:32:14

+3

PHP在服務器上執行。生成的html /腳本將包含** ONLY **執行php代碼時的if()的結果。如果稍後變量發生變化,OTHER條件的JS代碼將不會出現在您的頁面中。 – 2013-04-30 15:32:47

+1

php是服務器端,JavaScript是客戶端。除了使用ajax,php代碼不能從客戶端運行。 – 2013-04-30 15:33:07

回答

3

使用AJAX從PHP獲取內容。您可以讓success將數據填充到HTML中。

+0

感謝Biotox和其他受訪者。我用AJAX和'成功'做了它,它工作正常。不是一個好問題 - 我在問及PHP和jQuery無法溝通後意識到 - 這是漫長的一天! – westernKid 2013-05-01 17:57:30

2

你試圖做的事可以通過Ajax來實現。 Belwo是一個簡單的實施例

Jquery的

setInterval(function(){UpdateMessage()},10000) // Will Eecute after 10 Seconds 

function UpdateMessage() 
{ 
$.ajax({ 
    type:"POST", 
    url:"Script.php", 
    success: function(data) 
       { 
       $(".message").text(data); 
       } 
     });//END OF Second AJAX 
    } 

HTML

<p class='message'></p> 

的script.php

if ($num_rows > 0) 
echo "SOME DATA"; 
else 
echo "No Record"; 

上述C ode會刷新您的數據每10秒後不刷新

1

您是否嘗試將jquery包括到該PHP文件?像

<script type="text/javascript" src="jquery-1.9.1.min.js"></script>