首頁  >  問答  >  主體

在 PHP 中使用 jQuery 在表中呈現數據

<p>我有一個數據,我使用 PHP 來存取它們。所以我創建了一個簡單的按鈕,當我單擊它時,我的程式需要建立一個包含資料的表。 <strong>下面您可以看到讀取資料的 jQuery 程式碼,並建立一個表格。 </strong>但問題是,我無法存取 DATA 中的每個元素。 我想澄清的是,因為我還添加了程式碼,我在數據中進行了選擇。 <em>它被稱為「household.php」</em></p> <pre class="brush:php;toolbar:false;"><html lang="en"> <head> <script src="https://code.jquery.com/jquery-3.6.2.js" integrity="sha256-pkn2CUZmheSeyssYw3vMp1 xyub4m e QK4sQskvuo4=" crossorigin="anonymous"></script> <link rel="stylesheet" href="style.css"> <script> function suchen() { jQuery(document).ready(function($) { $.ajax({ type: "get", url: "household.php", dataType: "json", success: function(response) { var data = JSON.parse(response) var html_table = ""; data.forEach(function(item) { var row = $("<tr>"); row.append($("<td>").text(item.contact_id_a)); row.append($("<td>").text(item.contact_id_b)); // add more cells for additional columns html_table = row[0].outerHTML; }); $("#tabelle").html(html_table); } }); }); } </script> </head> <body> <form id="form" onsubmit="suchen()" method="get"> <label>Enter your age: </label> <br /> <input type="number" name="min" min="0"> <br /> <input type="number" name="max" min="0"> <br /> <input type="submit"> </form> <div id="tabelle"></div> </body> </html></pre> <p><strong>這是 family.php 檔案的程式碼。它工作沒有問題。但我無法在我的主 php 檔案之間進行連接。 </strong></p> <pre class="brush:php;toolbar:false;"><?php require_once '/var/www/html/wordpress/wp-content/plugins/civicrm/civicrm/civicrm.config.php'; require_once 'CRM/Core/Config.php'; $config = CRM_Core_Config::singleton(); $relationships = \Civi\Api4\Relationship::get() ->addSelect('contact_id_a', 'contact_id_b', 'contact_id_a.display_name', 'contact_id_b.household_name', 'relationship_type_id') ->addClause('OR', ['relationship_type_id', '=', 7], ['relationship_type_id', '=', 8]) ->setLimit(25) ->execute(); foreach ($relationships as $relationship) { // do something } var_dump(json_encode($relationships)); ?></pre> <p>我無法使用 php 檔案存取資料。我也無法透過搜尋 php 連接我的主 php 檔案。 </p>
P粉894008490P粉894008490434 天前513

全部回覆(1)我來回復

  • P粉038856725

    P粉0388567252023-09-05 00:44:06

    我認為您已經在 household.php 檔案中使用了 echo json_encode($relationships) 。您不需要解析回應(您使用過),因為您已經將 dataType 寫入 json。它會自動轉換。希望這個回答對您有幫助。根據 jQuery 手冊,「任何格式錯誤的 JSON 都會被拒絕,並引發解析錯誤。如從 jQuery 1.9 開始,空響應也會被拒絕」。因此,您可以僅使用 dataType: 'json',如果您確定該伺服器將傳回正確格式的 JSON。如果它只傳回“一個字串,看起來像 JSON”,您應該使用 dataType: "text json" 來強制 jQuery 轉換。 [注意] 如果上述答案對您沒有幫助,我建議您使用此函數來解析回應。 var data = jQuery.parseJSON(response);var data = $.parseJSON(response)

    #

    回覆
    0
  • 取消回覆