私は CodeIgniter を使用しており、モデルに PHP MySQL ステートメントがあります。
function getAllDevices() {
$query = $this->db->query("SELECT * FROM Device_tbl ORDER BY Manufacturer");
return $query->result();
}
次に、次を使用して、コントローラーを介してこれをビューに渡します。
$this->load->model("get_device");
$data['results'] = $this->get_device->getAllDevices();
次の PHP を使用して、これを div に出力します。
<div class="hold-cont">
<div class="holder">
<div class="image-hold"><img class="image-icon" src="<?php echo base_url(); ?>assets/images/devices/<?php echo $row->Image; ?>"></div>
</div>
<div class="device-name devicename-txt">
<?php $mod = $row->Model;
$model = str_replace(" ","-",$mod);
?><a href="<?php echo base_url(); ?>roms?device=<?php echo($row->Manufacturer . '-' . $model); ?>"><?php echo($row->Manufacturer. ' ' .$row->Model); ?></a><br>
</div>
</div><?php } ?>
これは現在正常に動作しますが、jQuery 関数のオートコンプリートを使用し、$results の JSON 配列を使用する検索ボックスをページに組み込みました。
私がする必要があるのは、PHP を Javascript に「変換」することです。これにより、JSON 配列を使用してページに入力できるようになります。次に、これを使用して、検索ボックスからの選択をクエリに渡し、ページをリロードせずにページのコンテンツを変更できるようにする必要があります。
これについてどうすればよいですか?私は以前、jQuery で ajax 関数を使用してそれを行う方法をまとめましたが、これには、現在実行できない PHP MySql ステートメントを含む URL が必要です。このようにすることの背後にある考え方は、ページがロードされたときに 1 つの SQL クエリのみを実行し、このメソッドを変更できないことです。