Javascript 我想使用ajax codeigniter为每个类别创建高级搜索
我正在用codeigniter做一个搜索功能。 搜索需要显示每个类别的搜索结果,当我单击类别时,它将显示真实结果详细信息以及图像。 对于搜索,我制作了一个表格:Javascript 我想使用ajax codeigniter为每个类别创建高级搜索,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我正在用codeigniter做一个搜索功能。 搜索需要显示每个类别的搜索结果,当我单击类别时,它将显示真实结果详细信息以及图像。 对于搜索,我制作了一个表格: Title: Author: Publisher: Year Published ISBN : <btn submit> 在这里之前,代码是正常的 问题是,当我单击分类簿时,我无法获取从输入表单发送的数据。 如果我使用$this->input->get;并将其作为参数发送到我的函数showtailstitle,ISBN
Title:
Author:
Publisher:
Year Published
ISBN :
<btn submit>
在这里之前,代码是正常的
问题是,当我单击分类簿时,我无法获取从输入表单发送的数据。
如果我使用$this->input->get;并将其作为参数发送到我的函数showtailstitle,ISBN;
参数不能为null,而且我找不到任何标题包含逗号的书,
因此,我认为我需要使用带有form.serialize的ajax获取输入数据,但我仍然无法从输入文本获取数据
有人能帮我吗
我为类别获取的代码搜索控制器
public function search()
{
$AssetTitle = $this->input->POST("advTitle");
$Author = $this->input->POST('advAuthor');
$Publisher = $this->input->POST('advPublisher');
$Year = $this->input->POST('advYear');
$ISBN = $this->input->POST('advISBN');
$result = $this->advanced_model->search_result();
$data['temp']=$this->advanced_model->getcountadvanced();
$data["CatId"]=$this->viewbook_model->getCategory();
$x=0;
if(count($result) > 0){
foreach($result AS $d)
{
$data['searchresult'][$x] = array(
'CategoryAssetName' => $d['CategoryAssetName'],
'CategoryAssetId' => $d['CategoryAssetId'],
'AssetTitle' => $d['Bibli'],
'Author' => $d['Bibli'],
'Publisher' => $d['PublisherId'],
'Year' => $Year,
'ISBN' => $ISBN
);
$x++;
}
}
else
{
$data['searchresult'] = array();
}
$page_content["page_title"] = "Advanced Search";
$page_content["title"] = "Advanced Search";
$page_content["icon_title"] = "search";
$menu_params["current_navigable"] = "AdvancedSearch";
$menu_params["sub_current_navigable"] = "";
$page_content["menu"] = $this->load->view("main_menu", $menu_params, true);
$page_content["content"] = $this->load->view("advancedsearch", $data, true);
$page_content["navmenu"] = $this->load->view("nav_menu",$data, true);
$this->load->view("template/main_template", $page_content);
}
我的获取详细信息的功能:
函数测试$CategoryAssetId=,$AssetTitle=,$Author=,$Publisher=,$Year=,$ISBN={
$data = $this->input->post();
echo $data;
$data["CatId"]=$this->viewbook_model->getCategory();
/*$AssetTitle = $this->input->GET('advTitle');
$Author = $this->input->GET('advAuthor');
$Publisher = $this->input->GET('advPublisher');
$Year = $this->input->GET('advYear');
$ISBN = $this->input->GET('advISBN');
*/
/*echo $AssetTitle.'<br />';
echo $Author.'<br />';
echo $Publisher.'<br />';
echo $Year.'<br />';
echo $ISBN.'<br />';*/
$AssetTitleEx = explode("-",$AssetTitle);
$AssetTitleIm = implode(" ",$AssetTitleEx);
//echo $Author;
$AuthorEx = explode("-",$Author);
$AuthorIm = implode(" ",$AuthorEx);
//echo $AuthorIm;
$PublisherEx = explode("-",$Publisher);
$PublisherIm = implode(" ",$PublisherEx);
$result = $this->advanced_model->searchresult($CategoryAssetId,$AssetTitleIm,$AuthorIm,$PublisherIm,$Year,$ISBN);
//print_r($result);
//echo count($result);
$x=0;
if(count($result) > 0){
foreach($result AS $d)
{
$data['tem'][$x] = array(
'categoryassetid' =>$d["CategoryAssetId"],
'AssetTitle' => $d["AssetTitle"],
'AssetSubtitle' => $d["AssetSubtitle"],
'PublisherName' => $d['PublisherName'],
'PublishYear' => $d['PublishYear'],
'MainAuthor' => $d['MainAuthor'],
'ISBN' => $d['ISBN'],
'Photo' => $d['Photo'],
'Bibli' => $d['Bibli'],
'CategoryAssetName' => $d['CategoryAssetName'],
'Description' => $d['Description']
);
$x++;
}
}
else
{
$data['tem'] = array();
}
/*$page_content["page_title"] = "Advanced Search";
$page_content["title"] = "Advanced Search";
$page_content["icon_title"] = "search";
$menu_params["current_navigable"] = "AdvancedSearch";
$menu_params["sub_current_navigable"] = "";
$page_content["menu"] = $this->load->view("main_menu", $menu_params, true);
$page_content["content"] = $this->load->view("advancedsearch", $data, true);
$page_content["navmenu"] = $this->load->view("nav_menu",$data, true);
$this->load->view("template/main_template", $page_content);*/
}
}
如果你有其他想法,请帮助我。input->get&input->post都是小写字母,你不应该在你的控制器中使用foreach,也不应该在你的模型中使用extract->get&->post,你从控制器中传递这些,返回的结果足够好,所以你的foreach没有做任何特殊的事情。你的帖子不是很清楚,请提供表格结构并解释您想要做什么。
$data = $this->input->post();
echo $data;
$data["CatId"]=$this->viewbook_model->getCategory();
/*$AssetTitle = $this->input->GET('advTitle');
$Author = $this->input->GET('advAuthor');
$Publisher = $this->input->GET('advPublisher');
$Year = $this->input->GET('advYear');
$ISBN = $this->input->GET('advISBN');
*/
/*echo $AssetTitle.'<br />';
echo $Author.'<br />';
echo $Publisher.'<br />';
echo $Year.'<br />';
echo $ISBN.'<br />';*/
$AssetTitleEx = explode("-",$AssetTitle);
$AssetTitleIm = implode(" ",$AssetTitleEx);
//echo $Author;
$AuthorEx = explode("-",$Author);
$AuthorIm = implode(" ",$AuthorEx);
//echo $AuthorIm;
$PublisherEx = explode("-",$Publisher);
$PublisherIm = implode(" ",$PublisherEx);
$result = $this->advanced_model->searchresult($CategoryAssetId,$AssetTitleIm,$AuthorIm,$PublisherIm,$Year,$ISBN);
//print_r($result);
//echo count($result);
$x=0;
if(count($result) > 0){
foreach($result AS $d)
{
$data['tem'][$x] = array(
'categoryassetid' =>$d["CategoryAssetId"],
'AssetTitle' => $d["AssetTitle"],
'AssetSubtitle' => $d["AssetSubtitle"],
'PublisherName' => $d['PublisherName'],
'PublishYear' => $d['PublishYear'],
'MainAuthor' => $d['MainAuthor'],
'ISBN' => $d['ISBN'],
'Photo' => $d['Photo'],
'Bibli' => $d['Bibli'],
'CategoryAssetName' => $d['CategoryAssetName'],
'Description' => $d['Description']
);
$x++;
}
}
else
{
$data['tem'] = array();
}
/*$page_content["page_title"] = "Advanced Search";
$page_content["title"] = "Advanced Search";
$page_content["icon_title"] = "search";
$menu_params["current_navigable"] = "AdvancedSearch";
$menu_params["sub_current_navigable"] = "";
$page_content["menu"] = $this->load->view("main_menu", $menu_params, true);
$page_content["content"] = $this->load->view("advancedsearch", $data, true);
$page_content["navmenu"] = $this->load->view("nav_menu",$data, true);
$this->load->view("template/main_template", $page_content);*/
}