2017-04-16 53 views
-1

實施例I在服務器我應該在html頁面中編寫php代碼嗎?

$sql = "SELECT * FROM ..." 
$result = mysqli_query($conn,$sql) 
$row = array() 
if($result){ 
while($r = mysqli_fetch_assoc($result)) { 
    $rows[] = $r; 
} 

我經常使用AJAX來顯示的HTML數據中的代碼選擇數據。但我看到有些人在HTML渲染由PHP像

的index.html

<div> <?php echo $row ?> </div> 

我認爲它不夠好,但我不知道爲什麼。請爲我解釋。非常感謝

+0

除非你指示你的系統把'.html'文件當作php,你將需要將擴展​​名改爲'.php'。那個,或者使用ajax並調用一個php文件。 –

+1

我認爲這個問題太廣泛了,因爲這顯然取決於上下文。一般來說,任何一種方法都沒有問題。 – domsson

+0

這個問題屬於過於寬泛/不清楚和基於意見的問題。或者甚至可能使用[使用.htaccess將所有.html頁面作爲.php文件運行?](http://stackoverflow.com/questions/4687208/using-htaccess-to-make-all-html-pages -to-run-as-php-files) –

回答

0

這不是一個'壞習慣',而是用戶體驗的選擇。這取決於這樣一個事實,即如果您的頁面是由php呈現或不呈現,您是否有要顯示的記錄。 讓我給你兩個使用用例:

  1. 你已經知道,用戶在這個頁面上看到的記錄row-39一樣,來自一個表單一些其他的動作在以前的頁面提交你得到這個細節或從URL讀取example.php?showMe=row-39 在這種情況下,當頁面正在呈現你就去提列39和增加的結果,然後有喜歡

    您的數據:

  2. 你的數據庫中有10K的記錄,你不確定哪一個用戶 在尋找。在那種情況下,出於安全原因(第39行不意味着被當前用戶看到)或者僅僅是速度問題(獲取10K記錄需要時間,並且將它們傳送給用戶也是如此),則不能將這些記錄放入該頁面並稍後隱藏用戶不必看到的內容。 在這種情況下,您需要獲取用戶希望通過某個活動(如輸入框)看到的行號,使用AJAX獲取該行並將其顯示給用戶。

現在,請注意如何「案例2」需要更多的時間來有效地顯示數據,用戶(第一用戶交互,AJAX技術,網絡傳輸等),這就是爲什麼你要使用「案例1 '只要你已經知道要顯示的用戶

相關問題