ホームページ  >  に質問  >  本文

PHP で jQuery を使用してテーブル内のデータをレンダリングする

<p>データがあり、PHP を使用してデータにアクセスします。そこで、単純なボタンを作成し、それをクリックすると、プログラムはデータを含むテーブルを作成する必要があります。 <strong>以下に、データを読み取りテーブルを作成する jQuery コードを示します。 </strong>しかし問題は、DATA のすべての要素にアクセスできないことです。 コードも追加したので、データ内で選択を行っていることを明確にしたいと思います。 <em>これは「household.php」と呼ばれます</em></p> <pre class="brush:php;toolbar:false;"><html lang="ja"> <頭> <スクリプト src="https://code.jquery.com/jquery-3.6.2.js" integrity="sha256-pkn2CUZmheSeyssYw3vMp1 xyub4m e QK4sQskvuo4=" crossorigin="匿名"></script> <link rel="stylesheet" href="style.css"> <スクリプト> 関数 suchen() { jQuery(ドキュメント).ready(関数($) { $.ajax({ タイプ: "get"、 URL: "household.php"、 データ型: "json"、 成功: 関数(応答) { var data = JSON.parse(応答) var html_table = ""; data.forEach(関数(項目) { var row = $(""); row.append($("").text(item.contact_id_a)); row.append($("").text(item.contact_id_b)); // 列を追加するためにセルを追加します html_table = 行[0].outerHTML; }); $("#tabelle").html(html_table); } }); }); } </スクリプト> </head> <本体> <form id="form" onsubmit=" suchen()" メソッド="get"> <label>年齢を入力してください: </label> <br /> <入力タイプ = "数値" 名前 = "最小" 最小 = "0" > <br /> <入力タイプ = "数値" 名前 = "最大" 最小 = "0" > <br /> <入力タイプ=「送信」> </フォーム> <div id="テーブル"></div> </ボディ> </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) ->実行(); foreach ($relationships as $relationship) { // 何かをする } var_dump(json_encode($relationships)); ?></pre> <p>php ファイルを使用してデータにアクセスできません。また、php を検索してもメインの php ファイルに接続できません。 </p>
P粉894008490P粉894008490434日前511

全員に返信(1)返信します

  • P粉038856725

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

    #household.php ファイルで echo json_encode($relationships) を使用したと思います。 dataType はすでに json に書き込まれているため、(使用した) 応答を解析する必要はありません。自動的に変換されます。この回答がお役に立てば幸いです。 jQuery Manual によると、「不正な形式の JSON はすべて拒否され、解析エラーが発生します。jQuery 1.9 以降では、空の応答も拒否されます。」したがって、サーバーが正しい形式の JSON を返すことが確実な場合は、dataType: 'json' を使用するだけで済みます。 「JSON のような文字列」を返すだけの場合は、dataType: "text json" を使用して jQuery に変換を強制する必要があります。 [注意] 上記の答えが役に立たない場合は、この関数を使用して応答を解析することをお勧めします。 var data = jQuery.parseJSON(response); または var data = $.parseJSON(response)

    返事
    0
  • キャンセル返事