簡體   English   中英

使用從PHP回顯的JavaScript動態填充表格?

[英]Populate a table dynamically using javascript echoed from php?

我想用一些使用http請求從數據庫中獲得的數據填充表。 我用php腳本獲取json編碼的數據,然后使用從php腳本回顯的jquery填充表。 我看起來一點也不整潔,我想知道如何才能做到這一點。

我想將php和js放在單獨的文件中,因為當我查看網頁的源代碼時,我喜歡3k +行,因為所有javascript代碼都是在script標簽內生成的,並且由於大量數據,javascript代碼得到了重復。 我必須使用的實際數據將比現在用於測試的數據還要大。

為了讓您更好地了解自己目前正在做什么,我將在此處編寫一些虛擬代碼:

<?php
require_once ('functions.php');
include 'header.html';
include 'standardTable.html';

$results = file_get_contents("http://url.com");
$decodedResult = json_decode($results, true);

// I have a function that creates and empty table based on how big the data set is 
// This function is placed in functions.php
CreateEmptyTable($decodedResults);

// Then I go ahead and populate the table based on some rules
PopulateTable($decodedResults);

function PopulateTable($res)
{
    $rowNum = 0;
    for ($i=0;$i<count($res);$i++)
    {
        $rowNum++;
        foreach($res as $key => $value)
        {
            if ($key == "something")
                echo '$("tbody tr#row_'.$rowNum.'")
                   .find("td:nth-child(id_based_on_key)").text("'.$value.'");
                ';
            else if ($key == "something_else")
                echo 'some other jquery lines';
        }
    }
}

include 'footer.html';

因此,正如您所看到的那樣,這看起來並不漂亮,所以我想知道是否可以用另一種方式來構造代碼。 要記住的是,我必須將php值傳遞給javascript代碼。

如果您能為我提供幫助,我們將不勝感激,如果您需要更多詳細信息,請告訴我。

干杯!

聽說過阿賈克斯嗎? 還是jQuery Ajax?

好吧,基本上這是我會做的:

PHP文件-作為后端-僅創建響應並控制數據庫。

HTML文件-成為視圖。

JS \\ jQuery-成為控制器。

Ajax允許您異步地從其他服務器請求數據或發送數據。

jQuery +示例對Ajax的描述

因此,結構將更像是:

在此處輸入圖片說明

為什么不使用XMLHttpRequest來調用PHP頁面返回的JSON數據並將表直接構建到DOM中呢?

這就是我會選擇做的事情,讓PHP除了讀取數據庫並吐出JSON外什么都不做,我將讓javascript收集它並以我需要的方式格式化表格,利用CSS等。

您認為必須嵌入JavaScript的PHP中到底有什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM