2011-10-21 20 views
0

嗨,我有以下代碼,並想知道是否可能使PHP部分重複,以便JavaScript var保持最新,即使新行已添加到表中?在javascript中重複php

<script type="text/javascript" > 
     var total_rows = []; 
<?php 
$con = mysql_connect("localhost", "user", "password"); 
    $total = mysql_query("SELECT * FROM table"); 
$num_rows = mysql_num_rows($total); 
?> 
var total_rows = "<?php echo $num_rows ; ?>"; 
</script> 
+0

重複....在哪裏?什麼時候? – Brad

+4

PHP:服務器端,JavaScript:客戶端。一旦數據離開服務器,就不再有PHP了。 –

+2

我想你需要閱讀AJAX – Brian

回答

1

您可以使用AJAX更新頁面的某些部分而無需重新加載整個頁面。你應該看看。一個好的教程開始將是http://www.w3schools.com/php/php_ajax_intro.asp

在HTML本身中重複PHP代碼是不可能的,因爲PHP代碼在HTML頁面中不可用。 HTML頁面是執行PHP腳本的結果。

0

您將需要使用AJAX命中執行PHP選擇並返回所需行的文件。

2

不是直接的,因爲PHP只是服務器端,並且在執行JS時已經完成執行。

雖然你可以檢查它無需重新加載使用AJAX頁面,我會問你在做什麼是有用無論如何 - 客戶端應該不會在意表中的行作爲一般規則的 - 唯一的例外是如果你正在創建一個數據庫管理頁面,那麼它的實用性就值得商榷了。如果您需要從客戶端輸入更新/刪除一行,您只需要該行的ID,並且如果您要添加一行,則應該讓數據庫爲您自動遞增主鍵以生成行ID。

我懷疑如果你已經達到了你認爲你需要這些信息的地步,那麼你會更好地看待你的應用程序的實現。

-2

你將不得不刷新你的查詢來獲取最新的計數,所以我會做這樣的事情。這個例子使用jQuery的:http://api.jquery.com/jQuery.get/

function get_updated_rows(){  
    $.get('count.php', function(data) { 
     var total_rows = data; 
    }) 
    return total_rows;  
} 

您count.php文件將包含PHP:

<?php $con = mysql_connect("localhost", "user", "password"); 
      $total = mysql_query("SELECT * FROM table"); 
      $num_rows = mysql_num_rows($total); 
      echo $num_rows; 
?> 

那麼當你需要更新的計,只需使用你的函數:get_updated_rows();

+1

只是沒有。 PHP是服務器端,你不能像這樣從JS執行。您的函數將始終返回頁面加載時生成的值。 – DaveRandom