tablename:news
柱:
headline, send_sub_top, sub_top_priority.
下面是我在数据库中的表结构。
我只需要从表格中更新选定的行。它更新数据库中的send_sub_top = "Inactive"
并重新排列数据库中sub_top_priority
列的顺序。
例如:
如果我删除数据库中的第3行,则会更新第3行的send_sub_top = "Inactive"
和第3行的sub_top_priority = 0
,然后重新排列sub_top_priority
中所有Ascending
列的顺序订单如1,2,3,4。
我在数据库中创建更新send_sub_top Column = Inactive
的代码但是这不会重新排列sub_top_priority
订单......
我的代码示例 - 我的代码仅更新send_sub_top = Inactive
并保持sub_top_priority
列顺序,如...
删除第3行后 1,2,4,5。但我需要像1,2,3,4。
id headline send_sub_top sub_top_priority
1 good Active 1
2 Test Active 2
3 Nice Active 3
4 Great Active 4
5 Demo Active 5
PLZ帮助我......提前谢谢..
下面是我的代码......
<?php
foreach($sub_top_select as $sub_top)
{
?>
<li><a href="javascript:return(0);" remove_sub_top_news="<?php echo $sub_top['id']; ?>">
<img src="img/error.png" height="14px" width="14px" /></a></li>
<?php } ?>
用于更新数据库中的非活动的PHP代码...
但我还需要按sub_top_priority
顺序重新排列所有Ascending
列的顺序,如1,2,3,4。
<?php
if(isset($_POST['remove_sub_top_news']))
{
$id = mysql_real_escape_string(trim(htmlspecialchars($_POST['remove_sub_top_news'])));
$sql = "SELECT id,send_sub_top FROM news WHERE id='$id'";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
mysql_query("Update news SET send_sub_top='Inactive' WHERE id=".mysql_real_escape_string(trim(htmlspecialchars($_POST['remove_sub_top_news']))));
if(mysql_affected_rows() > 0)
{
$_SESSION['message'] = "News Removed From SubTop Successfully";
header("Location:sethomepage.php");
exit;
}
}
?>
答案 0 :(得分:0)
首先更新send_sub_top
值。
然后从表中选择所有数据,条件是set_sub_top
=&#39;有效&#39;并按sub_top_priority
升序排序。
然后循环选择查询的整个数据会以{1}的增量更新sub_top_priority
。
注意:如果表格中的数据不多,这种方法很好。