第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我如何從兩個表中搜索數(shù)據(jù),它們不相關(guān)

我如何從兩個表中搜索數(shù)據(jù),它們不相關(guān)

PHP
FFIVE 2022-12-11 09:24:30
我正在嘗試構(gòu)建一個搜索框以從 2 個表中找出相似的標題。藝術(shù)表- id 標題類型贈款表- id Title Type現(xiàn)在我只能顯示 grants 表中的數(shù)據(jù),如果搜索與標題類似的內(nèi)容,我如何顯示兩個表的結(jié)果?模型function searchResult($keyword){  $this->db->like('title',$keyword);  $this->db->or_like('open_to',$keyword);$this->db->from('v_grants');$query  =   $this->db->get();  return $query->result();}控制器function searchResult() {    $keyword    =   $this->input->post('keyword');    $data['results']    =   $this->products_model->searchResult($keyword);    $this->load->view('searchresults.php', $data);}看法<form class="form-inline my-2 my-md-0" action="<?php echo site_url('starter/searchResult');?>" method = "post">  <input class="form-control" type="text" name = "keyword"/><br><table><?php if (count($results) > 0){foreach($results as $row){ ?><table class="table"><tr>    <td><h2><a href="<?=  base_url()?>product/grantindividual/<?=$row->id?>"><?php echo $row->title?> </h2></a>  </tr><?php   }}else { ?><br><br><h1> No results found. </h1><?php }?></table>
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經(jīng)驗 獲得超4個贊

會有一些人會建議您進行單獨的查詢并合并結(jié)果集,因為這會減少腳本卷積。


會有其他人贊成使用 UNION ALL 來組合兩個表查詢,因為他們更喜歡單次訪問數(shù)據(jù)庫或者你不需要在第一次 SELECT 之后為列添加別名(對于列名的情況不同)。


我會滿足您的要求,但要明白滿足您的要求的方法不止一種。


CodeIgniter 目前不提供 UNION 方法,因此您可以對活動記錄做的最好(AFAIK)是編譯兩個 SELECT 查詢并在調(diào)用內(nèi)部執(zhí)行 UNION query()。


實際呈現(xiàn)的查詢和結(jié)果集可能會略有不同,具體取決于您的數(shù)據(jù)庫適配器——這種多功能性是 CodeIgniter 查詢構(gòu)建方法的一個特性。


我包括一個額外的列 ( source),以便您可以在顯示數(shù)據(jù)時做出明智的決定(關(guān)于超鏈接等)。否則,您可能會引用一個id值但不知道它id引用的是哪個表。


代碼:


$this->db->select($this->db->escape('v_grants') . ' AS source, id, title, type');

$this->db->from('v_grants');

$this->db->like('title', $keyword);

$this->db->or_like('open_to', $keyword);

$vGrantsQuery = $this->db->get_compiled_select();


$this->db->select($this->db->escape('art') . ', id, title, type');

$this->db->from('art');

$this->db->like('title', $keyword);

$this->db->or_like('open_to', $keyword);

$artQuery = $this->db->get_compiled_select();

/*

var_export([

    $this->db->query($vGrantsQuery . ' UNION ALL ' . $artQuery)->result(),

    $this->db->last_query()

]);

*/

return $this->db->query($vGrantsQuery . ' UNION ALL ' . $artQuery)->result();

ps Model 方法result()將生成一個空數(shù)組或一個對象數(shù)組。在您看來,您不需要count();只需檢查if (!$result) {——這將告訴您結(jié)果集是否為空。


查看完整回答
反對 回復(fù) 2022-12-11
  • 1 回答
  • 0 關(guān)注
  • 86 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號