table("/> table(">

php文章排序后进行前移后移,写了语句没起作用,不知道哪出有关问题了

WBOY
풀어 주다: 2016-06-13 12:13:13
원래의
1088명이 탐색했습니다.

php文章排序后进行前移后移,写了语句没起作用,不知道哪出问题了?
我对文章排序进行手动前移后移,但是sql语句好像就没起作用,哪位帮忙看看,我是实在看不出来了

<br />/*前移*/<br />if($result=='up'){<br /> $sql0=$db->query("select sort from ".$db->table('product')." where id='$id'");<br /> $row=$db->fetch_array($sql0);<br /> if(!$row){<br />  $oldpx=1;<br /> }else{<br />  $oldpx=$row['sort'];<br /> }<br /> if($oldpx>1){<br /> $db->query("update ".$db->table('product')." set sort=sort+1 where sort=".$oldpx-1);<br /> $db->query("update ".$db->table('product')." set sort=sort-1 where id=".$id);<br /> }<br /> header("Location:product_list.php\n");<br /> exit;<br />}<br />/*后移*/<br />if($result=='down')<br />{<br />  $sql1=$db->query("select sort from ".$db->table('product')." where id='$id'");<br />  $row=$db->fetch_array($sql1);<br />  if(!$row){<br />   $oldpx=9999;<br />  }else{<br />   $oldpx=$row['sort'];<br />  }<br />  $sql2=$db->query("select sort from ".$db->table('product')." order by sort desc limit 1");<br />  $rows=$db->fetch_array($sql2);<br />  if(!$rows){<br />   $maxpx=9999;<br />  }else{<br />   $maxpx=$rows['sort'];<br />  }<br />  if($oldpx<$maxpx){<br />   $db->query("update ".$db->table('product')." set sort=sort-1 where sort=".$oldpx+1);<br />   $db->query("update ".$db->table('product')." set sort=sort+1 where id=".$id);<br />  }<br />  header("Location:product_list.php\n");<br />  exit;<br />}<br />
로그인 후 복사


------解决思路----------------------
会不会是文章的sort并不是连续的,就前移来说你取sort-1作为调教来修改有可能没修改到数据库记录,然后即使当前sort+1可能还是没有比下个文章的sort大
------解决思路----------------------
<br />/*前移*/<br />if($result=='up'){<br />?$sql0=$db->query("select?sort?from?".$db->table('product')."?<span   style="max-width:90%">where?id='$id'"</span>);<br />?$row=$db->fetch_array($sql0);<br />?if(!$row){<br />??$oldpx=1;<br />?}else{<br />??$oldpx=$row['sort'];<br />?}<br />?if($oldpx>1){<br />?$db->query("update?".$db->table('product')."?set?sort=sort+1?where?sort=".$oldpx-1);<br />?$db->query("update?".$db->table('product')."?set?sort=sort-1?where?id=".$id);<br />?}<br />?header("Location:product_list.php\n");<br />?exit;<br />}<br />/*后移*/<br />if($result=='down')<br />{<br />??$sql1=$db->query("select?sort?from?".$db->table('product')."<span style="color: #FF0000;">?where?id='$id'")</span>;<br />??$row=$db->fetch_array($sql1);<br />??if(!$row){<br />???$oldpx=9999;<br />??}else{<br />???$oldpx=$row['sort'];<br />??}<br />??$sql2=$db->query("select?sort?from?".$db->table('product')."?order?by?sort?desc?limit?1");<br />??$rows=$db->fetch_array($sql2);<br />??if(!$rows){<br />???$maxpx=9999;<br />??}else{<br />???$maxpx=$rows['sort'];<br />??}<br />??if($oldpx<$maxpx){<br />???$db->query("update?".$db->table('product')."?set?sort=sort-1?where?sort=".$oldpx+1);<br />???$db->query("update?".$db->table('product')."?set?sort=sort+1?where?id=".$id);<br />??}<br />??header("Location:product_list.php\n");<br />??exit;<br />}<br />
로그인 후 복사

红色标注的那里改成 where id='".$id."'");
------解决思路----------------------
<br />if($_REQUEST["action"] == "up"){<br />	uppx($_REQUEST['goods_id']);<br />}<br />elseif($_REQUEST["action"] == "down"){<br />	downpx($_REQUEST['goods_id']);<br />}<br /><br />function uppx($goods_id)<br />{<br />	if(!$goods_id)<br />	{<br />	 $goods_id=0;<br />	}<br />	<br />	$sql=$GLOBALS['db']->query("select px from ".$GLOBALS['db']->table('product')." where id=".$goods_id);<br />	$rs=$GLOBALS['db']->fetch_array($sql);<br />	if(!$rs)<br />	{<br />	 $oldpx = 1;<br />	}<br />	else<br />	{<br />	 $oldpx = $rs['px'];<br />	}<br />    if($oldpx>1){<br />	 $oldpx=$oldpx-1;<br />	 $GLOBALS['db']->query("update ".$GLOBALS['db']->table('product')." set px=px+1 where px=".$oldpx);<br />	 $GLOBALS['db']->query("update ".$GLOBALS['db']->table('product')." set px=px-1 where id=".$goods_id);<br />	}	<br />    header("Location:product_list.php");<br />	exit;	<br />}<br /><br />function downpx($goods_id)<br />{<br />	if(!$goods_id)<br />	{<br />	 $goods_id=0;<br />	}<br />	$sql=$GLOBALS['db']->query("select px from ".$GLOBALS['db']->table('product')." where id=".$goods_id);<br />	$rs=$GLOBALS['db']->fetch_array($sql);<br />	if(!$rs)<br />	{<br />	 $oldpx=1;<br />	}<br />	else<br />	{<br />	 $oldpx=$rs['px'];<br />	}<br />	//假如$oldpx=1的话<br />    $sql1=$GLOBALS['db']->query("select * from ".$GLOBALS['db']->table('product')." order by px desc limit 1");<br />	$row=$GLOBALS['db']->fetch_array($sql1);<br />	if(!$row)<br />	{<br />	 $maxpx=999;<br />	}<br />	else<br />	{<br />	 $maxpx=$row['px'];<br />	}<br />	//到这里那么最大的$maxpx=4<br />    if($oldpx<$maxpx){<br />	 $oldpx=$oldpx+1;<br />	 $GLOBALS['db']->query("update ".$GLOBALS['db']->table('product')." set px=px-1 where px=".$oldpx);<br />	 $GLOBALS['db']->query("update ".$GLOBALS['db']->table('product')." set px=px+1 where id=".$goods_id);<br />	}<br />	header("Location:product_list.php");<br />	exit;	<br />}<br />
로그인 후 복사

根据你那代码我自己完整的演示了一遍,实现你要的效果了

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!