ブラウザを介して記録やレポートをリモートで表示できるアプリケーションを作成しています。私は CakePHP を使用してアプリケーションを作成し、正常に動作させましたが、アプリケーションはデータを読み取るだけで挿入を行わないため、ユーザーがビューを開いてレコードが挿入されたときに必要な小さな問題が 1 つあります。ユーザーがページを更新して新しいレコードを取得するのではなく、開いているすべてのクライアントを更新する必要があります。実際に動作する CakePHP Websocket プラグインはありますか? 私たちのウェブホストは、プログラムのインストールやApacheモジュールの追加を許可していないため、nodejsまたは同様のソリューションはここでは適用できません.
アプリケーションファイルをウェブサーバーにアップロードするだけですべてが実行される、純粋にphpとjavascriptの実装を探しています。ファイルをアップロードした後、実行したり、エクストラをインストールしたり、apache などで構成を行ったりする必要はありません。
これは、ビューにデータを取得するコントローラーの1つ(BooksController.php)の関数です
public function list_books()
{
$this->Books->recursive = 0;
$this->paginate = array('order' => array('Serial_No' => 'DESC'));
$this->set('All_Books', $this->paginate());
}
これは、ページ分割されたテーブルにデータを表示するビュー (list_books.ctp) の 1 つです。
<div class="row-fluid">
<div class="span12">
<?php echo $this->Session->flash() ?>
<h4><?php echo __('All Books') ?></h4>
<hr>
<table class="table table-bordered">
<thead>
<tr> <th><?php echo __('Serial No') ?></th>
<th><?php echo __('Title') ?></th>
<th><?php echo __('Author') ?></th>
<th><?php echo __('Publisher') ?></th>
<th><?php echo __('Category') ?></th>
<th><?php echo __('Section') ?></th>
<th><?php echo __('Available') ?></th>
</tr>
</thead>
<tbody>
<?php foreach( $All_Books as $book ){ ?>
<tr>
<td><?php echo $this->Html->link(__($book['Book']['Serial_No']),'/books/view/'.$book['Book']['Serial_No']) ?></td>
<td><?php echo $book['Book']['Title'] ?></td>
<td><?php echo $book['Book']['Author'] ?></td>
<td><?php echo $book['Book']['Publisher'] ?></td>
<td><?php echo $book['Book']['Category'] ?></td>
<td><?php echo $book['Book']['Section'] ?></td>
<td><?php echo $book['Book']['Available'] ?></td>
</tr>
<?php } ?>
</tbody>
</table>
<?php echo $this->Paginator->prev('« Previous', null, null, array('class' => 'disabled'));
echo $this->Paginator->numbers();
echo $this->Paginator->next('Next »', null, null, array('class' => 'disabled'));
echo $this->Paginator->counter(array(
'format' => 'Page {:page} of {:pages}, showing {:current} records out of
{:count} total, starting on record {:start}, ending on {:end}'
));
?>
</div>
</div>
ビューを自動更新するには、ビュー、コントローラー、またはモデルに何を追加できますか? これはajaxを使用して達成できますか?