Heim  >  Fragen und Antworten  >  Hauptteil

Rendern von Daten in einer Tabelle mit jQuery in PHP

<p>Ich habe Daten und verwende PHP, um darauf zuzugreifen. Also habe ich eine einfache Schaltfläche erstellt und wenn ich darauf klicke, muss mein Programm eine Tabelle mit den Daten erstellen. <strong>Unten sehen Sie den jQuery-Code, der die Daten liest und eine Tabelle erstellt. </strong>Aber das Problem ist, dass ich nicht auf jedes Element in DATA zugreifen kann. Ich möchte klarstellen, dass ich eine Auswahl in den Daten treffe, da ich auch den Code hinzugefügt habe. <em>Es heißt „household.php“</em></p> <pre class="brush:php;toolbar:false;"><html lang="en"> <Kopf> <Skript 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> Funktion suchen() { jQuery(document).ready(function($) { $.ajax({ Typ: "get", URL: "household.php", Datentyp: "json", Erfolg: Funktion(Antwort) { 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)); // Weitere Zellen für zusätzliche Spalten hinzufügen html_table += row[0].outerHTML; }); $("#tabelle").html(html_table); } }); }); } </script> </head> <Körper> <form id="form" onsubmit="suchen()" <label>Geben Sie Ihr Alter ein: </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>Dies ist der Code für die Datei „family.php“. Es funktioniert ohne Probleme. Aber ich kann keine Verbindung zwischen meinen Haupt-PHP-Dateien herstellen. </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 = CiviApi4Relationship::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 als $relationship) { // etwas tun } var_dump(json_encode($relationships)); ?></pre> <p>Ich kann über die PHP-Datei nicht auf die Daten zugreifen. Ich kann auch keine Verbindung zu meiner Haupt-PHP-Datei herstellen, indem ich nach PHP suche. </p>
P粉894008490P粉894008490434 Tage vor514

Antworte allen(1)Ich werde antworten

  • 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)

    Antwort
    0
  • StornierenAntwort