搜索的时候,不改变页数。

比如下图这种情况:
这里写图片描述
这里出现的问题是:
我以上四个条件都是用a标签刷新形式写的。
默认今日申请。我搜索未处理申请条件中的结果时,url会指向默认的今日申请,导致搜索错误。
我的同事写了一个方法。如下:

    //这里是整个导航条的代码
    <div class="L_tableTop clearfix" style="background:#29333f; padding:16px 16px 16px 0; border-radius:8px;">
        <div class="btnbox">
            <a <?php if($color == 2 || $color == 1){ echo 'class="active"'; } ?> href="{:U('Cash/c_index',array('order'=>'dayOne'))}">今日申请</a>
            <a <?php if($color == 3){ echo 'class="active"'; } ?> href="{:U('Cash/c_index',array('order'=>'dayTwo'))}">近7日申请</a>
            <a <?php if($color == 4){ echo 'class="active"'; } ?> href="{:U('Cash/c_index',array('order'=>'dayThree'))}">未处理申请</a>
            <a <?php if($color == 5){ echo 'class="active"'; } ?> href="{:U('Cash/c_index',array('order'=>'dayFour'))}">异常申请</a>
        </div>
        <div class="L_search">
            <input class="L_searchIpt" type="search" name="search" id="search"  placeholder="<?php if($search){ echo $search; }else{ echo '请输入关键字';} ?>" />
        <span class="L_searchSbt">
            <input class="Licon" type="button" onclick = "changeTiend('{$url}')" />
        </span>
        </div>

    </div>

引用js

    <script>
        /*搜索 start ------------------------*/
        function changeTiend(basePath){
            var search =$("#search").val();
            window.location.href = basePath+"/search/"+search+".html";
        }
        /*搜索 end ------------------------*/
    </script>

controller后来处理

    public function index(){
        $search = trim($_REQUEST['search']);
        $orderType = $_REQUEST['order'];

        //最主要是这段代码
        $uri = $_SERVER['REQUEST_URI'];
        $uri = explode('.html',$uri);
        $uri = explode('/search',$uri[0]);

        $this->assign('url',$uri[0]);
    }

其实我后来看懂了,就是取$_SERVER里面的路径,然后分割拼接一下了。
构造一下路径,这样就不会有错了。如图。
这里写图片描述
这里写图片描述
这里写图片描述

在Unity中实现这样的功能通常涉及到网络请求(从MySQL数据库获取数据)、UI交互以及分页显示。这里有一个基本的C#示例,假设你已经安装了一个如`Newtonsoft.Json`之类的JSON序列化库来处理MySQL返回的数据: ```csharp using UnityEngine; using System.Collections; using System.Net.Http; using Newtonsoft.Json; public class DataLoader : MonoBehaviour { public string searchBoxText; public int currentPage = 1; public int rowsPerPage = 5; public GameObject layoutParent; private HttpClient httpClient; private List<MyData> dataCache; // 假设MyData是你从数据库获取的数据模型 void Start() { httpClient = new HttpClient(); LoadPage(currentPage); } void Update() { if (Input.GetKeyDown(KeyCode.Space)) PerformSearch(); } void PerformSearch() { dataCache = GetDatabaseResults(searchBoxText, currentPage); DisplayData(); } private List<MyData> GetDatabaseResults(string searchTerm, int page) { // 这里只是一个伪代码示例,实际替换为从MySQL服务器获取数据的方法 var url = $"http://your-mysql-api/search?searchTerm={searchTerm}&page={page}"; var jsonString = httpClient.GetStringAsync(url).Result; return JsonConvert.DeserializeObject<List<MyData>>(jsonString); } void DisplayData() { layoutParent.Clear(); for (int i = 0; i < Mathf.Min(dataCache.Count, rowsPerPage); i++) { var rowGameObject = Instantiate(LayoutPrefab); // 假设LayoutPrefab是你的布局组件 rowGameObject.GetComponentInChildren<Text>().text = dataCache[i].ToString(); // 根据数据填充布局 layoutParent.transform.GetChild(i).gameObject.SetActive(true); } } void OnPreviousPage() { if (currentPage > 1) currentPage--; else Debug.Log("Already at the first page"); LoadPage(currentPage); } void OnNextPage() { currentPage++; LoadPage(currentPage); } void LoadPage(int page) { StartCoroutine(LoadAndDisplay(page)); } IEnumerator LoadAndDisplay(int page) { yield return StartCoroutine(PerformSearch()); DisplayData(); } } ``` 这个脚本会在用户按下空格键时执行搜索,更新搜索结果并展示在页面上。前进和后退按钮分别调用`OnPreviousPage`和`OnNextPage`方法,改变当前页码并重新加载数据。 请注意,这只是一个基础示例,实际开发中可能还需要考虑错误处理、缓存、异步操作以及其他细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值