私のモジュールでは、自動完成と同様の機能が必要です。 私が必要とするのは、名前を入力するたびにテーブルを作成することです。たとえば、Johnと入力すると、テーブルには、電子メールID、専門化、住所などの他の属性を持つデータベース内のすべてのJohnが表示されます。次に、特定の「john」を選択すると(名前/チェックをクリックするとボックス/他の方法)、彼の情報は私のフォームに自動的に記入されるはずです。 私はすべてのジョンの詳細を抽出することができます(私はアラートボックスに印刷しましたが)私が直面している2つの問題は次のとおりです。 1.) 'John'に対応するテーブルを作成できません 2.)私は、必要な行がユーザーによってクリックされたときにデータをフォームに渡す方法を知らない。cakephpでの動的テーブルの作成
また、データを抽出すると、テーブルの最後のエントリのデータ(last '' john '')のみが表示されます。すなわち最後の「ジョン」だけが保存されています。 forループはすべて '' john ''を表示します。
参照用にコントローラとビューコードをペーストしています。
何かお勧めします。
//Controller:
public function getmasterdata($id=NULL)
{
$this->layout = 'ajax';
$this->autoRender = false;
$q=$this->request->data['nns'];
$details=array();
$this->loadModel('Approved_panel');
$conditions = 'Approved_panel.name LIKE "%'.$q.'%"';
$countt=$this->Approved_panel->find('count',array('conditions'=>$conditions));
$masterdata=$this->Approved_panel->find('all',array('conditions'=>$conditions));
//print_r ($masterdata);
foreach($masterdata as $m)
{
$details=$m['Approved_panel'];
print_r($details);
}
//print_r($details);
$data='';
foreach($details as $key=>$value)
{
$data.=$key.'//'.$value.'&&&';
}
print_r($data);
//echo json_encode($details);
exit;
}
`
//View:
$("#name"+lastChar).on('keyup',function()
{
$('#master_details').show();
var namess=$('#name'+lastChar).val();
//alert(namess);
$.ajax({
cache: false,
dataType: "html",
type: "POST",
evalScripts: true,
url: '<?php echo Router::url(array('controller'=>'Panels','action'=>'getmasterdata'));?>',
data: ({nns:namess}),
success: function(result){
alert(result);
$('#detailss').val(result);
}
});
});
`
//This is the div in which data should be displayed. These are the headers. I don’t know how to get data into this.
<div id="master_details">
<h2 align="center">Previous Panel Member's Details</h2>
<table>
<thead>
<tr>
<th> Name</th>
<th> Designation</th>
<th> Specialization</th>
<th> University</th>
<th> College</th>
<th> Address</th>
<th> Phone</th>
<th> Email</th>
<th> Papercode</th>
<th> Action</th>
</tr>
</thead>
</table>
</div>
データを返します。データは警告ボックスに印刷されています。問題は、最後のデータだけが$ details配列に存在することです。 – Nikita