0

現在、1つのテーブルからデータを取得する検索機能があり、追加のテーブルからもデータを取得したいと思います。

$query = $this->db->get('tbl_customer');
$this->db->select('in_customer_id, st_company_name, in_customer_type, st_customer_account, st_customer_state_id, flg_customer_account_type, in_status, dt_added_date, st_tag');
if(trim($action['searchtxt'])!='')
    $this->db->like('st_company_name', html_entity_decode($action['searchtxt']));

景色:

   <div class="floatl"  style="width:250px;">
      <form name="frm" action="<?php echo $index_url; ?>customers/search/" method="post">
        <div class="floatl">                
          <input name="Search" type="text" class="textboxsearch" id="Search" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" value="<?php if($searchtxt!=''){ echo $searchtxt; } else{ echo 'Search'; }?>" maxlength="50" />
        </div>
            <div class="floatl searchicon">
          <input type="image"  src="<?=$admin_base_url?>images/textbox_search.gif" alt="" width="22" height="22" />
          </div>
        <br />
        <br />
        <font class="txt9">(i.e. Company, Account name)</font>
      </form>          
    </div>

さらに検索したいテーブルをと呼びtbl_admin_userます。これをどのように達成できるかについてのアイデアはありますか?

4

2 に答える 2

0

SQLを少しブラッシュアップすることをお勧めします。特に、SQL結合を見てください。

そうは言っても、質問を読み直した後、特定の列で複数のテーブル内のかなり特定のデータを検索しようとしているようです。まず、 WHEREの代わりにLIKEを使用することを検討することをお勧めします。

次に、結果の表示方法に応じて、2つの個別のクエリを記述してから、それぞれの個別の結果をループして表示します。結合または結合は可能かもしれませんが、テーブル構造が実際に異なる場合は、結果を正確に表示するのが難しい場合もあります。

于 2011-06-15T17:31:04.397 に答える
0

ORM/フレームワークを使用してデータにアクセスしているようです。どちらを使用していますか。

とにかく、あなたはおそらく参加または組合を探しています。

于 2011-06-15T17:32:51.750 に答える