検索機能.. CodeIgniterの私はこの権利を得ることができない
ビューファイル(view_searchlog.php)で
: ユーザー:、私はテーブルを持って<div class="form-group">
<form class="form-inline" action="<?php echo base_url(); ?>index.php/search/accsearch" method="post">
<select class="form-control" name="field">
<option selected="selected" disabled="disabled" value="">Filter By</option>
<option value="subjName">Subject</option>
<option value="homeaddress">Location</option>
<option value="lname">Last Name</option>
</select>
<input class="form-control" type="text" name="search" value="" placeholder="Find..">
<input class="btn btn-default" type="submit" name="filter" value="Search">
</form>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-6">
<h2 class="sub-header">Search Results</h2>
</div>
<div class="row">
<div class="col-sm-12 col-md-8"><hr/>
<?php echo $this->session->flashdata('nores'); ?>
<?php foreach ($users as $user): ?>
<div class="thumbnail">
<img src="..." alt="...">
<div class="caption">
<h3><?=$user->name;?></h3>
<p><?=$user->homeaddress;?></p>
<p><?=$user->mobileNum;?></p>
<p><a href="#" class="btn btn-primary" role="button">Request</a> <a href="#" class="btn btn-default" role="button">View Profile</a></p>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
デシベルで,アカウントおよび件
人の被験者
subjID | subjName | accID
------ | -------- | -----
1 | Math | 1
アカウント
accID | subjID | userID
------ | -------- | -----
1 | 1 | 1
ユーザー
userID | userName | accID
------ | -------- | -----
1 | foo | 1
は、私は私の検索コントローラ用のFFコードを持っている:
if (isset($filter) && !empty($search)) {
$data['users'] = $this->model_search->searchTutor($field, $search);
}
elseif (($filter == 'subjName') && !empty($search)) {
$data['users'] = $this->model_search->searchBySubj($field, $search);
}
elseif (isset($filter) && empty($search)) {
$data['users'] = $this->model_search->getlist($field);
}
elseif (isset($filter) && ($search == 0)) {
$this->session->set_flashdata('nores','<div class="alert text-center">No result matched your search.</div>');
redirect('search/index');
}
その後、私はデシベル
でだから、検索モデルでは第二のelseif ->searchBySubj();
機能
を入力するようになっていないサブジェクト名を検索しよう:
public function searchTutor($field, $search)
{
$this->db->like($field, $search);
$this->db->order_by($field);
$query = $this->db->get('users');
return $query->result();
}
public function searchBySubj($field, $search)
{
$this->db->query("SELECT id as Userid, accID as AccID, subjID as subid, subjName as sname FROM users userT INNER JOIN account accT ON id = accID INNER JOIN subjects ON accID = subjID;");
$query = $this->db->get('users', 'ASC');
return $query->result();
}
これが表示されます:
A Database Error Occurred
Error Number: 1054
Unknown column 'subjName' in 'where clause'
SELECT * FROM `users` WHERE `subjName` LIKE '%mathematics%' ESCAPE '!' ORDER BY `subjName`
私は場所を検索しようと、それは私がDBにない場所を検索しようとした後
すべてのリストが表示されますが、最後の条件はflashdataを表示しないときに実行されるのelseif第三
私は<?php echo $this->session->flashdata('nores'); ?>
を上記のビュー(上記)に入れます
全体として、私は自分が持っているテーブルでSubject Nameで検索したいだけです。また、一致するレコードがない場合は、フラッシュデータを表示します。
これらはどのように正しく行われるべきですか?これらのエラーの原因は何ですか?
私には何が欠けていますか?
私の悪いコーディングはここで、この1つで私を助けてください。クエリで
で動作していない...おかげppatil27 @ – Distro