Witam, mam ustawienie pozycji w menu (wyzej lub nizej pozycje), i po zmianie pozycji chcialbym aby sie to przesuwalo, a nie dopiero po odswiezeniu strony tabelka byla odswiezona, jak na to poradzic?
Kod:
<?php
$c = 0;
$result = mysql_query('SELECT * FROM `menu` ORDER BY `pozycja` ASC;'); {
$menu[$c] = $row;
$id[$row['id']] =& $menu[$c++];
}
for($i=0; $i<$c; $i++)
{
switch($i)
{
case 0: $menu[$i]['up'] = $menu[$i]['pozycja']; break;
case 1: $menu[$i]['up'] = $menu[($i-1)]['pozycja'] / 2; break;
default: $menu[$i]['up'] = ($menu[($i-2)]['pozycja'] + $menu[($i-1)]['pozycja']) / 2; break;
}
switch($i)
{
case ($c-1): $menu[$i]['dowm'] = $menu[$i]['pozycja']; break;
case ($c-2): $menu[$i]['down'] = (($menu[($i+1)]['pozycja'] * 2) + 1) / 2; break;
default: $menu[$i]['down'] = ($menu[($i+1)]['pozycja'] + $menu[($i+2)]['pozycja']) / 2; break;
}
}
{
$_GET['id'] = intval($_GET['id']); $_GET['act'] = ((($_GET['act'] == 'up') || ($_GET['act'] == 'down')) ? $_GET['act'] : 'pozycja');
mysql_query('UPDATE `menu` SET `pozycja` = '.$id[$_GET['id']][$_GET['act']].' WHERE (`id` = '.$_GET['id'].');');
}
echo('<table border="1" cellspacing="0" cellpadding="2" width="400"><tr align="center"><td><b><font face="Verdana" size="2">Nazwa:</font></b></td><td><b><font face="Verdana" size="2">ID podstrony:</font></b></td><td></td><td></td><td></td><td></td></tr>'); for($i=0; $i<$c; $i++)
{
echo('<td><font face="Verdana" size="2">'.$menu[$i]['nazwa'].'</font></td>');
echo('<td><font face="Verdana" size="2">'.$menu[$i]['link'].'</font></td>');
echo('<td>'.(($i != 0) ?
'<a href="?act=up&id='.$menu[$i]['id'].'"><font face="Verdana" size="2">Do góry</font></a>' : ' ').'</td>'); echo('<td>'.(($i != ($c-1)) ?
'<a href="?act=down&id='.$menu[$i]['id'].'"><font face="Verdana" size="2">Na dół</font></a>' : ' ').'</td>');
echo('<td><a href="?co=skasuj&id='.$menu[$i]['id'].'"><font face="Verdana" size="2">Skasuj</font></a></td>'); echo('<td><a href="?co=edytuj&id='.$menu[$i]['id'].'"><font face="Verdana" size="2">Edytuj</font></a></td>'); }
?>