Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Odswiezeni tabelki po dodaniu
Forum PHP.pl > Forum > Przedszkole
in5ane
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:
  1. <?php
  2. $menu = array();
  3. $id = array();
  4. $c = 0;
  5. $result = mysql_query('SELECT * FROM `menu` ORDER BY `pozycja` ASC;');
  6. while($row = mysql_fetch_assoc($result))
  7. {
  8. $menu[$c] = $row;
  9. $id[$row['id']] =& $menu[$c++];
  10. }
  11.  
  12. for($i=0; $i<$c; $i++)
  13. {
  14. switch($i)
  15. {
  16. case 0: $menu[$i]['up'] = $menu[$i]['pozycja']; break;
  17. case 1: $menu[$i]['up'] = $menu[($i-1)]['pozycja'] / 2; break;
  18. default: $menu[$i]['up'] = ($menu[($i-2)]['pozycja'] + $menu[($i-1)]['pozycja']) / 2; break;
  19. }
  20.  
  21. switch($i)
  22. {
  23. case ($c-1): $menu[$i]['dowm'] = $menu[$i]['pozycja']; break;
  24. case ($c-2): $menu[$i]['down'] = (($menu[($i+1)]['pozycja'] * 2) + 1) / 2; break;
  25. default: $menu[$i]['down'] = ($menu[($i+1)]['pozycja'] + $menu[($i+2)]['pozycja']) / 2; break;
  26. }
  27. }
  28.  
  29. if(isset($_GET['act']))
  30. {
  31. $_GET['id'] = intval($_GET['id']);
  32. $_GET['act'] = ((($_GET['act'] == 'up') || ($_GET['act'] == 'down')) ? $_GET['act'] : 'pozycja');
  33.  
  34. mysql_query('UPDATE `menu` SET `pozycja` = '.$id[$_GET['id']][$_GET['act']].' WHERE (`id` = '.$_GET['id'].');');
  35.  
  36. }
  37.  
  38. 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>');
  39. for($i=0; $i<$c; $i++)
  40. {
  41. echo('<tr>');
  42. echo('<td><font face="Verdana" size="2">'.$menu[$i]['nazwa'].'</font></td>');
  43.  
  44. echo('<td><font face="Verdana" size="2">'.$menu[$i]['link'].'</font></td>');
  45.  
  46. echo('<td>'.(($i != 0) ? '<a href="?act=up&amp;id='.$menu[$i]['id'].'"><font face="Verdana" size="2">Do góry</font></a>' : '&nbsp;').'</td>');
  47. echo('<td>'.(($i != ($c-1)) ? '<a href="?act=down&amp;id='.$menu[$i]['id'].'"><font face="Verdana" size="2">Na dół</font></a>' : '&nbsp;').'</td>');
  48.  
  49. echo('<td><a href="?co=skasuj&id='.$menu[$i]['id'].'"><font face="Verdana" size="2">Skasuj</font></a></td>');
  50. echo('<td><a href="?co=edytuj&id='.$menu[$i]['id'].'"><font face="Verdana" size="2">Edytuj</font></a></td>');
  51. echo('</tr>');
  52. }
  53.  
  54.  
  55. echo('</table>');
  56. ?>
Cienki1980
Z tego co widzę to
1. Wyciągasz dane z tabeli
2. Jeżeli jest ustawiona zmienna act to je aktualizujesz
3. Wyświetlasz tabelkę, ale na podstawie danych wyciągniętych na początku skryptu a nie po aktualizacji.


Musiałbyś raz jeszcze wyciąganąć dane po aktualizacji.
in5ane
nie bardzo zajarzylem, tzn. jak mam ja po aktualizacji wstawic?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.