首页 > 后端开发 > php教程 > php页面传递参数的问题,求指教

php页面传递参数的问题,求指教

WBOY
发布: 2016-06-20 12:58:19
原创
1045 人浏览过

$query = $db->findall("p_newsclass where f_id='$_GET[cid]'");while ($row = $db->fetch_array($query)) {	$news_class_in.= $row[id].",";}echo $news_class_in=$news_class_in."$_GET[cid]";
登录后复制

就是显示新闻列表,能正确打印出来

但是写到SQL中
$result = mysql_query("select id from p_newsbase where cid in ($news_class_in)");$total = mysql_num_rows($result);pageft($total, 20);if ($firstcount < 0)	$firstcount = 0;$query = $db->findall("p_newsbase where cid in ($news_class_in)  limit  $firstcount, $displaypg");
登录后复制


就出现错误了,获取的cid居然变了


回复讨论(解决方案)

$news_class_in.= $row[id].",";
这样拼接出来的结果是会多出一个逗号,可以用substr或者rtrim去掉:
while ($row = $db->fetch_array($query)) {
$news_class_in.= $row[id].",";
}
$new_class_in = rtrim($new_class_in, ",");

echo $new_class
看你的截图,应该就是cid in()括号中的最后一个逗号引起的sql错误

URL上是id,怎么用$_GET[ cid] 获取?

URL上是id,怎么用$_GET[ cid] 获取?




$query = $db->findall("p_newsclass where f_id='$_GET[cid]'");while ($row = $db->fetch_array($query)) {	$news_class_in.= $row[id].",";}echo  $news_class_in=$news_class_in."$_GET[cid]";
登录后复制




这是直接打印URL获取的就是cid

下面写的htm文件指定的链接是cid啊
{section name=l loop=$sm_list}     <div class="listtt">      <h2><a href="list.php?cid={$sm_list[l].cid}">{$sm_list[l].cidname}</a></h2>      <span><a href="view.php?id={$sm_list[l].id}">{$sm_list[l].title}</a></span>      <div id="more">{$sm_list[l].date_time}</div>    </div>    {/section}
登录后复制

$news_class_in.= $row[id].",";
这样拼接出来的结果是会多出一个逗号,可以用substr或者rtrim去掉:
while ($row = $db->fetch_array($query)) {
$news_class_in.= $row[id].",";
}
$new_class_in = rtrim($new_class_in, ",");

echo $new_class
看你的截图,应该就是cid in()括号中的最后一个逗号引起的sql错误



谢谢回答,看我下面的截图,为什么我直接打印就不会有后面的逗号呢?

最后一张图,错误的sql语句,多了一个“,”。
你这样写循环最后会多一个逗号

$news_class_in 这个变量最后多了一个逗号。

加一句:

$news_class_in = trim($news_class_in, ',');
登录后复制

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板