Having trouble re-aranging orders in sql
Posted: Sun Mar 04, 2007 8:19 pm
What i'm trying to do is make a back-bone similar to what phpBB did on how they move forums up and move forums down. the thing just goes haywire. maybe theres something simplier, that i'm missing. and swaps them around. all the numbers stay the same. it prints 3 3 everytime.
Code: Select all
if(isset($_GET['move']))
{
$forum_to_move = $_GET['forum'];
$result = mysql_query("SELECT forum_order FROM forums WHERE name='$forum_to_move'");
$forum = mysql_fetch_object($result);
$forum_to_move_order = $forum->forum_order;
//moving forum up
if ($_GET['move'] == "up")
{
$result = mysql_query("SELECT name,forum_order FROM forums WHERE forum_order<='$forum_to_move_order' ORDER BY forum_order DESC LIMIT 1") or die(mysql_error());
$forum = mysql_fetch_object($result);
$forum_to_move2 = $forum->name;
$forum_to_move_order2 = $forum->forum_order;
if($forum->name <> "")
{
mysql_query("UPDATE forums SET forum_order='$forum_to_move_order2' WHERE name='$forum_to_move'") or die(mysql_error());
echo $forum_to_move_order .'<br>' . $forum_to_move_order2;
mysql_query("UPDATE forums SET forum_order='$forum_to_move_order' WHERE name='$forum_to_move2'") or die(mysql_error());
}
}
else//moving forum down
{
$result = mysql_query("SELECT name,forum_order FROM forums WHERE forum_order>='$forum_to_move_order' ORDER BY forum_order DESC LIMIT 1") or die(mysql_error());
$forum = mysql_fetch_object($result);
$forum_to_move2 = $forum->name;
$forum_to_move_order2 = $forum->forum_order;
if($forum->name <> "")
{
mysql_query("UPDATE forums SET forum_order='$forum_to_move_order2' WHERE name='$forum_to_move'") or die(mysql_error());
echo $forum_to_move_order .'<br>' . $forum_to_move_order2;
mysql_query("UPDATE forums SET forum_order='$forum_to_move_order' WHERE name='$forum_to_move2'") or die(mysql_error());
}
}
}