gpt4 book ai didi

php - 如何使用 Codeigniter 在搜索结果中创建 URL 链接?

转载 作者:行者123 更新时间:2023-11-29 22:16:43 24 4
gpt4 key购买 nike

我已经在 Codeigniter 中创建了一个搜索功能并且它工作正常。搜索功能准确地显示了我想要的内容,但我希望结果链接到另一个页面。我是 Codeigniter 的新手。有人可以帮我吗?

这是我的模型

public function search($searchterm)
{
$sql = "SELECT title as title, author as author
FROM `edubooks`
WHERE title LIKE '$searchterm' OR author LIKE '$searchterm'";


$q = $this->db->query($sql);
if($q->num_rows() > 0)
{
foreach($q->result() as $row)
{
$data[] = $row;
}
return $data;
}
else
{
return 0;
}
}



/******************Handler for search******************/
public function searchterm_handler($searchterm)
{
if($searchterm)
{
$this->session->set_userdata('searchterm', $searchterm);
return $searchterm;
}
elseif($this->session->userdata('searchterm'))
{
$searchterm = $this->session->userdata('searchterm');
return $searchterm;
}
else
{
$searchterm ="";
return $searchterm;
}
}

Controller

public function search()
{
$searchterm = $this->search_model->searchterm_handler($this->input->get_post('searchterm', TRUE));

$data['results'] = $this->search_model->search($searchterm);
$data['searchterm'] = $searchterm;
$this->load->view('search',$data);

}

以及我的看法

<h2>Library Search System</h2>
<div id="formborder">
<form action ="search" method="post" id="searchform" name="searchform">
<b> Name of book : </b><input type="text" name="searchterm" id="searchterm" value="<?=$searchterm?>" />
<input type="submit" value="search" id="submit" />
</form>
</div>

<div id="tablebody">
<table id="table" width="100%" = border>
<?php if($results == false):?>
<tr>
<td>No records found.</td>
</tr>
<?php else:?>

<tr>
<th>Title</th>
<th>Author</th>
</tr>
<?php foreach($results as $r):?>
<tr>
<td align="center"><a href="#"><?php echo ($r->title); ?></a></td>
<td align="center"><a href="#"><?php echo ($r->author); ?></a></td>
</tr>
<?php endforeach;?>
<?php endif;?>
</table>
</div>

<p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds</p>

我只想将结果转到另一页。

最佳答案

如果您希望每个结果都有一个链接将您重定向到另一个页面,则必须将该新页面的 URL 放置在 anchor 标记的 href 中,就像任何其他页面一样HTML 链接。我意识到您有一个表格,我要做的是创建另一个带有“了解更多”链接的列。

因此,根据您的情况,请更改此:

<?php foreach($results as $r):?>
<tr>
<td align="center"><a href="#"><?php echo ($r->title); ?></a></td>
<td align="center"><a href="#"><?php echo ($r->author); ?></a></td>
</tr>
<?php endforeach;?>

对此:

<?php foreach($results as $r):?>
<tr>
<td align="center"><?= $r->title; ?></td>
<td align="center"><= $r->author; ?></td>
<td align="center"><a href="<?= base_url()?>controller_name/controller_method/$r->id">Learn More</a></td>
</tr>
<?php endforeach;?>

anchor 现在看起来像这样:

<?= base_url()?>controller_name/controller_method/$r->id

您希望将其更改为您选择的方法名称,也许是这样的:

<?= base_url()?>books/about/$r->id
^ ^ ^
| | |
| | parameter
| method
controller

它将重定向到特定的 Controller 方法,并将您的图书 ID 作为参数传递。您现在的工作是构建该方法,以便您可以通过 id 检索该特定书籍并将其解析为 View 。

关于php - 如何使用 Codeigniter 在搜索结果中创建 URL 链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31156180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com