Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Odswiezeni tabelki po dodaniu
in5ane
post
Post #1





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


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. ?>


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


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.


--------------------
404
Go to the top of the page
+Quote Post
in5ane
post
Post #3





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


nie bardzo zajarzylem, tzn. jak mam ja po aktualizacji wstawic?


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 15:40