社区
基础编程
帖子详情
分类信息自定义搜索url怎么处理?
tangguowei
2009-11-30 03:21:05
问题是这样的,如图
...全文
160
11
打赏
收藏
分类信息自定义搜索url怎么处理?
问题是这样的,如图
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
x1987xiaoxiao
2009-12-01
打赏
举报
回复
9楼的回复忽略吧 (0_0)!!!
x1987xiaoxiao
2009-12-01
打赏
举报
回复
运行了下,url出现二维数组的情况:
$url_arr1=array(str_replace("$$key1",$key2,$Temp_arr)); 这句,
因为你传入的str_replace("$$key1",$key2,$Temp_arr)是一个字符串,虽然你里面是以数组'type'=>$type,'price'=>$price 但是统一的就是一个字符串然后这里生产的$url_arr1就是[0]=>'type'=>$type,'price'=>$price
这样了:
解决方法(可试):
在foreach循环外申明$Temp_arr是一个数组$Temp_arr=Array();在foreach中$Temp_arr['$field']='$$field'这样来生产 这样生产的$Temp_arr就是一个数组了……(如果这样运行这后,之后的那个替换,估计要换个)
x1987xiaoxiao
2009-12-01
打赏
举报
回复
[Quote=引用 7 楼 tangguowei 的回复:]
我不清楚什么是笛卡尔集啊,我这样处理了一下
foreach(条件)
....
$Temp_arr.="'$field'=>$$field,";
}
$Temp_arr = substr($Temp_arr,0,strlen($Temp_arr)-1);//去掉最后一个,号此时$Temp_arr为
'type'=>$type,'price'=>$price
if (is_array($arr)){
foreach ($arr as $key1=>$val){
foreach($val as $key2=>$val2){
$url_arr1=array(str_replace("$$key1",$key2,$Temp_arr));
$url_arr2=array('catid'=>$catid,'areaid'=>$areaid,'page'=>$page);
$url = array_merge($url_arr1, $url_arr2);
$search[$key1][]=array('value'=>$key2,'name'=>$val2,'url'=>$url);
print_r($url);exit;
}
}
}
为什么输出的url为Array ( [0] => 'type'=>1,'price'=>$price [catid] => 13 [areaid] => [page] => 1 )
而不是:Array ([type]=>1[price]=>$price[catid] => 13 [areaid] => [page] => 1 )
[/Quote]
$search[$key1][]=array('value'=>$key2,'name'=>$val2,'url'=>$url); 设置的url指向的是一个数组了
如果输出url 肯定就是一个数组
这样整个是一个一维的数组:
$url = array_merge($url_arr1, $url_arr2);
$arr=array('value'=>$key2,'name'=>$val2);
$search[$key1][]=array_merge($arr,$url);
或是:
得到url之后,对它这个数组进行单独的操作
「已注销」
2009-11-30
打赏
举报
回复
$arr= Array(
'type' => Array (
'1' => '出售',
'2' => '求购',
),
'price' => Array (
'1' => '500元以下',
'2' => '500-1000元',
),
);
foreach ($arr as $key1=>$val){
foreach($val as $key2=>$val2){
$url=geturl(
$urlArr
);
$search[$key1][]=array('value'=>$key2,'name'=>$val2,'url'=>$url);
}
}
其中$urlArr如何处理当
$key1=type,$key2=1时,$urlArr=array('type'=>"1",'price'=>"$price")
$key1=type,$key2=2时,$urlArr=array('type'=>"2",'price'=>"$price")
$key1=price,$key2=1时,$urlArr=array('type'=>"$type",'price'=>"1")
$key1=price,$key2=2时,$urlArr=array('type'=>"$type",'price'=>"2")
以后如果再加一个区域,比如area则当
$key1=type,$key2=1时,$urlArr=array('type'=>"1",'price'=>"$price",'area'=>"$area")
...
另外还有一些固定的字段如:分类sort,时间postTime等,最后将上面处理的$urlArr数组与这些固定字段拼在一起,如当$key1=type,$key2=1时,
$urlArr=array('type'=>"1",'price'=>"$price",'sort'=>"$sort",'postTime'=>"$postTime")
写了这么多,不知道大家看明白没有,再不明白,我真的不知道如何描述了
codeyell-com
2009-11-30
打赏
举报
回复
"处理"?你的意思是指什么?
床上等您
2009-11-30
打赏
举报
回复
看不到图
xuzuning
2009-11-30
打赏
举报
回复
如果你使用了模板引擎,那么应按模板引擎的要求组装数据
如果不知道现有的数据格式如何转换为目标数据格式,请帖出两者的示例
「已注销」
2009-11-30
打赏
举报
回复
我不清楚什么是笛卡尔集啊,我这样处理了一下
foreach(条件)
....
$Temp_arr.="'$field'=>$$field,";
}
$Temp_arr = substr($Temp_arr,0,strlen($Temp_arr)-1);//去掉最后一个,号此时$Temp_arr为
'type'=>$type,'price'=>$price
if (is_array($arr)){
foreach ($arr as $key1=>$val){
foreach($val as $key2=>$val2){
$url_arr1=array(str_replace("$$key1",$key2,$Temp_arr));
$url_arr2=array('catid'=>$catid,'areaid'=>$areaid,'page'=>$page);
$url = array_merge($url_arr1, $url_arr2);
$search[$key1][]=array('value'=>$key2,'name'=>$val2,'url'=>$url);
print_r($url);exit;
}
}
}
为什么输出的url为Array ( [0] => 'type'=>1,'price'=>$price [catid] => 13 [areaid] => [page] => 1 )
而不是:Array ([type]=>1[price]=>$price[catid] => 13 [areaid] => [page] => 1 )
x1987xiaoxiao
2009-11-30
打赏
举报
回复
恩……我的想法是这样
按照楼主的思路如果是这么个url的数组的话,是不是相当于$arr这里俩个子数组进行了一个笛卡尔集呢??
「已注销」
2009-11-30
打赏
举报
回复
哦,我在程序中使用了smarty,我现在的想法是把url处理好保存在search数组中,
在模板中这样调用,比如调用价格则:(其中,price就是后台增加的价格的字段名)
{foreach from=$search.price item=price}
<a href="{$price.url}">{$price.name}</a>
{/foreach}
已经能正常输出了,只是url没有处理好
to:4楼
意思是不是点链接的时候,触发一个js过程,组合成url然后:window.location.href=url;
x1987xiaoxiao
2009-11-30
打赏
举报
回复
楼主,要达到你说的那种url的变换的,不需要都在php中处理过url之后在输出,可以再js中构造url
比如 你的输出的可选项是从
$type_arr=Array(
'1'=>'出售',
'2'=>'求购');
$price_arr=Array(
'1'=>'500元以下',
'2'=>'500-1000元');
从输出,可以点击的地方加个js的方法,触发的时候,根据选择的内容构造一个url并转向,也能达到楼主说的整个效果
而且按照楼主在3楼中所提到的意思,如果是预先设计好url,那这个应该是一个函数当中的方法,最后得到一个含有构造url的数组,应该是通过传入的值来选择, 如果不是一个函数,那就是说每页都要进行这个url的构造操作。
不过说到楼主在3楼中提及的思路,确实挺复杂。
ECSHOP全站
URL
自定义
插件
自定义
URL
链接
自定义
目录文件名伪静态
因此,在使用插件时,应确保所有
URL
都是经过验证的,防止恶意用户利用
自定义
URL
获取未经授权的
信息
。 综上所述,"ECSHOP全站
URL
自定义
插件"是提升ECSHOP站点SEO效果的重要工具,通过
自定义
URL
、采用目录形式和伪...
dede解决seo的
自定义
文章名称的
url
问题
在DEDE中,
自定义
文章名称的
URL
可以帮助我们创建更具描述性的、用户友好的链接,这不仅有利于用户体验,也有利于
搜索
引擎理解页面内容。 首先,我们要了解DEDE CMS中如何设置
自定义
文章
URL
。在后台管理界面,通常...
wordpress
自定义
url
参数实现路由功能的代码示例
意味着可以通过编程手段精细地控制网站内容的展示方式,利用
自定义
URL
参数和路由功能来实现例如博客、论坛、电商网站等复杂系统中的
URL
管理,增强用户访问的便利性和
搜索
引擎的友好性。 最后,提到了使用add_filter...
Magento Category Filter
Url
静态化插件
在Magento中,商品
分类
管理是核心功能之一,而“Magento Category Filter
Url
静态化插件”则是为了优化用户体验和
搜索
引擎优化(SEO)而设计的。这个插件的主要目标是将
分类
筛选后的
URL
从动态形式转化为静态形式,...
ThinkPHP新闻发布系统(前台+后台)绝对易学易用
在ThinkPHP中,你可以通过简单的路由配置实现
URL
美化,同时,其强大的自动验证和填充功能使数据
处理
更为便捷。 二、文章发布系统的后台构建 1. 数据库设计:首先,我们需要设计数据库表结构,包括文章表(articles...
基础编程
21,891
社区成员
140,342
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章