Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sortowanie przez klikniecie
Forum PHP.pl > Forum > Przedszkole
meteseron2
Witam, chciałbym was prosić o pomoc. Mam skrypt php który łączy się z bazą danych i wyświetla wyniki na stronie, chciałbym dowiedzieć się co i gdzie muszę dodać aby po kliknięciu np w uid sortowało mi po kolei numerki, po kliknięciu w Imię alfabetycznie ukladało imiona tak samo z nazwiskami a date chronologicznie o to moj skrypt php z góry dziękuje za pomoc smile.gif
  1. <?php
  2.  
  3. ////////////////////////////////////////////////////////////
  4. //Przykład kodu wyświetlającego dane z bazy mysql (tabeli newsletter z
  5. //osobami zapisanymi na listę dystrybucyjną)
  6. //Wymagania
  7. // 1. Zalozona baza mysql na serwerze
  8. // 2. Tabela newsletter w bazie mysql z polami imie, nazwisko, mail
  9. ////////////////////////////////////////////////////////////
  10.  
  11. ////////////////////////////////////////////////////////////
  12. //Definicje zmiennych
  13.  
  14. //adres ip serwera mysql który zawiera bazę danych i tabele z osobami
  15. //zapisanymi na listę dystrybucyjna newslettera
  16. $adres_ip_serwera_mysql_z_baza_danych = 'localhost';
  17.  
  18. //nazwa bazy danych z tabelą newsletter zawierającą osoby zapisane na
  19. //listę dystrybucyjna newslettera
  20. $nazwa_bazy_danych = '16230';
  21.  
  22. //nazwa uzytkownika bazy danych $nazwa_bazy_danych
  23. $login_bazy_danych = '16230';
  24.  
  25. //haslo uzytkownika bazy danych $nazwa_bazy_danych
  26. $haslo_bazy_danych = 'moje haslo';
  27.  
  28. ////////////////////////////////////////////////////////////
  29. //Kod programu
  30.  
  31. //Ustanawiamy połączenie z serwerem mysql
  32. if ( !mysql_connect($adres_ip_serwera_mysql_z_baza_danych,
  33.  
  34. $login_bazy_danych,$haslo_bazy_danych) ) {
  35. echo 'Nie moge polaczyc sie z baza danych';
  36. exit (0);
  37. }
  38. //Wybieramy baze danych na serwerze mysql ktora zawiera tabele
  39. //newsletter gdzie sa dane osob z listy dystrybucyjnej
  40. if ( !mysql_select_db($nazwa_bazy_danych) ) {
  41. echo 'Blad otwarcia bazy danych';
  42. exit (0);
  43. }
  44.  
  45. //Definiujemy zapytanie pobierające wszystkie wiersze z wszystkimi
  46. //polami z tabeli newsletter
  47. $zapytanie = "SELECT * FROM `mri`";
  48. //wykonujemy zdefiniowane zapytanie na bazie mysql
  49. $wynik = mysql_query($zapytanie);
  50.  
  51. //Wyświetlamy w tabeli html dane pobrane
  52. //z tabeli newsletter bazy mysql
  53. //Najpierw definiujemy nagłówek tabeli html
  54. echo "<p>";
  55. echo "<table boder=\"1\"><tr>";
  56. echo "<td bgcolor=\"ffff00\"><strong>UID</strong></td>";
  57. echo "<td bgcolor=\"ffff99\"><strong>Imie</strong></td>";
  58. echo "<td bgcolor=\"ffff00\"><strong>Nazwisko</strong></td>";
  59. echo "<td bgcolor=\"ffff99\"><strong>data</strong></td>";
  60. echo "</tr>";
  61. //Teraz wyświetlamy kolejne wiersze z tabeli newsletter
  62. //Pola tabeli newsletter pobieramy odwołując się do ich
  63. //numerów jak poniżej:
  64. // 0 (UID)
  65. // 1 (Imie)
  66. // 2 (Nazwisko)
  67. // 3 (Mail)
  68. while ( $row = mysql_fetch_row($wynik) ) {
  69. echo "</tr>";
  70. echo "<td bgcolor=\"ffff00\">" . $row[0] . "</td>";
  71. echo "<td bgcolor=\"ffff99\">" . $row[1] . "</td>";
  72. echo "<td bgcolor=\"ffff00\">" . $row[2] . "</td>";
  73. echo "<td bgcolor=\"ffff99\">" . $row[3] . "</td>";
  74. echo "</tr>";
  75. }
  76. echo "</table>";
  77.  
  78.  
  79. //Zamykamy połączenie z bazą danych
  80. if ( !mysql_close() ) {
  81. echo 'Nie moge zakonczyc polaczenia z baza danych';
  82. exit (0);
  83. }
  84.  
  85. ?>
  86.  
  87.  
rad11
Musisz wysłać do skryptu takie informacje jak:

- według której tabeli sortujesz
- czy rosnąco czy malejąco


Mozesz to wysłać np $_GET czyli np: ?sortBy=TwojaNazwaTebeli&order=asc lub desc.

Potem w skrypcie tylko dodajesz te parametry do zapytania.


Czyli mniej wiecej tak:

  1.  
  2. switch($_GET['order']):
  3.  
  4. case 'asc':
  5.  
  6. <td bgcolor=\"ffff00\"><a href="?sortBy=uid&order=desc"><strong>UID</strong></a></td>
  7.  
  8. break;
  9.  
  10. case 'desc':
  11.  
  12. <td bgcolor=\"ffff00\"><a href="?sortBy=uid&order=asc"><strong>UID</strong></a></td>
  13.  
  14. break;
  15.  
  16. default:
  17.  
  18. <td bgcolor=\"ffff00\"><a href="?sortBy=uid&order=desc"><strong>UID</strong></a></td>
  19.  
  20. break;
  21.  
  22. endswitch;
  23.  
  24. $sortBy = (isset($_GET['sortBy']))? $_GET['sortBy'] : "uid" ;
  25. $order = (isset($_GET['order']))? $_GET['order'] : "desc" ;
  26.  
  27. $zapytanie = "SELECT * FROM `mri` ORDER BY $sortBY $order";
  28. //wykonujemy zdefiniowane zapytanie na bazie mysql
  29. $wynik = mysql_query($zapytanie);
meteseron2
A w którym miejscu dokładniej można to podpiąć?
rad11
W tym samym w którym tworzysz zapytanie i widok tabeli czyli dokładnie w tym co tutaj zamieściłeś.
meteseron2
Przyznam się że nie rozumiem biggrin.gif
rad11
  1.  
  2. <?php
  3.  
  4. ////////////////////////////////////////////////////////////
  5. //Przykład kodu wyświetlającego dane z bazy mysql (tabeli newsletter z
  6. //osobami zapisanymi na listę dystrybucyjną)
  7. //Wymagania
  8. // 1. Zalozona baza mysql na serwerze
  9. // 2. Tabela newsletter w bazie mysql z polami imie, nazwisko, mail
  10. ////////////////////////////////////////////////////////////
  11.  
  12. ////////////////////////////////////////////////////////////
  13. //Definicje zmiennych
  14.  
  15. //adres ip serwera mysql który zawiera bazę danych i tabele z osobami
  16. //zapisanymi na listę dystrybucyjna newslettera
  17. $adres_ip_serwera_mysql_z_baza_danych = 'localhost';
  18.  
  19. //nazwa bazy danych z tabelą newsletter zawierającą osoby zapisane na
  20. //listę dystrybucyjna newslettera
  21. $nazwa_bazy_danych = '16230';
  22.  
  23. //nazwa uzytkownika bazy danych $nazwa_bazy_danych
  24. $login_bazy_danych = '16230';
  25.  
  26. //haslo uzytkownika bazy danych $nazwa_bazy_danych
  27. $haslo_bazy_danych = 'moje haslo';
  28.  
  29. ////////////////////////////////////////////////////////////
  30. //Kod programu
  31.  
  32. //Ustanawiamy połączenie z serwerem mysql
  33. if ( !mysql_connect($adres_ip_serwera_mysql_z_baza_danych,
  34.  
  35. $login_bazy_danych,$haslo_bazy_danych) ) {
  36. echo 'Nie moge polaczyc sie z baza danych';
  37. exit (0);
  38. }
  39. //Wybieramy baze danych na serwerze mysql ktora zawiera tabele
  40. //newsletter gdzie sa dane osob z listy dystrybucyjnej
  41. if ( !mysql_select_db($nazwa_bazy_danych) ) {
  42. echo 'Blad otwarcia bazy danych';
  43. exit (0);
  44. }
  45.  
  46. $sortBy = (isset($_GET['sortBy']))? $_GET['sortBy'] : "uid" ;
  47. $order = (isset($_GET['order']))? $_GET['order'] : "desc" ;
  48. $zapytanie = "SELECT * FROM `mri` ORDER BY $sortBY $order";
  49. $wynik = mysql_query($zapytanie);
  50.  
  51. //Wyświetlamy w tabeli html dane pobrane
  52. //z tabeli newsletter bazy mysql
  53. //Najpierw definiujemy nagłówek tabeli html
  54. echo "<p>";
  55. echo "<table boder=\"1\"><tr>";
  56. switch($_GET['order']):
  57.  
  58. case 'asc':
  59.  
  60. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=uid&order=desc'><strong>UID</strong></a></td>";
  61. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=name&order=desc'><strong>Imie</strong></a></td>";
  62. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=surname&order=desc'><strong>Nazwisko</strong></a></td>";
  63. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=date&order=desc'><strong>data</strong></a></td>";
  64.  
  65. break;
  66.  
  67. case 'desc':
  68.  
  69. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=uid&order=asc'><strong>UID</strong></a></td>";
  70. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=name&order=asc'><strong>Imie</strong></a></td>";
  71. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=surname&order=asc'><strong>Nazwisko</strong></a></td>";
  72. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=date&order=asc'><strong>data</strong></a></td>";
  73.  
  74. break;
  75.  
  76. default:
  77.  
  78. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=uid&order=desc'><strong>UID</strong></a></td>";
  79. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=name&order=desc'><strong>Imie</strong></a></td>";
  80. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=surname&order=desc'><strong>Nazwisko</strong></a></td>";
  81. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=date&order=desc'><strong>data</strong></a></td>";
  82.  
  83. break;
  84.  
  85. endswitch;
  86.  
  87. echo "</tr>";
  88. //Teraz wyświetlamy kolejne wiersze z tabeli newsletter
  89. //Pola tabeli newsletter pobieramy odwołując się do ich
  90. //numerów jak poniżej:
  91. // 0 (UID)
  92. // 1 (Imie)
  93. // 2 (Nazwisko)
  94. // 3 (Mail)
  95. while ( $row = mysql_fetch_row($wynik) ) {
  96. echo "</tr>";
  97. echo "<td bgcolor=\"ffff00\">" . $row[0] . "</td>";
  98. echo "<td bgcolor=\"ffff99\">" . $row[1] . "</td>";
  99. echo "<td bgcolor=\"ffff00\">" . $row[2] . "</td>";
  100. echo "<td bgcolor=\"ffff99\">" . $row[3] . "</td>";
  101. echo "</tr>";
  102. }
  103. echo "</table>";
  104.  
  105.  
  106. //Zamykamy połączenie z bazą danych
  107. if ( !mysql_close() ) {
  108. echo 'Nie moge zakonczyc polaczenia z baza danych';
  109. exit (0);
  110. }
  111.  
  112. ?>
  113.  
  114.  
  115.  
meteseron2
skopiowałem twoj skrypt
  1.  
  2. <?php
  3.  
  4. ////////////////////////////////////////////////////////////
  5. //Przykład kodu wyświetlającego dane z bazy mysql (tabeli newsletter z
  6. //osobami zapisanymi na listę dystrybucyjną)
  7. //Wymagania
  8. // 1. Zalozona baza mysql na serwerze
  9. // 2. Tabela newsletter w bazie mysql z polami imie, nazwisko, mail
  10. ////////////////////////////////////////////////////////////
  11.  
  12. ////////////////////////////////////////////////////////////
  13. //Definicje zmiennych
  14.  
  15. //adres ip serwera mysql który zawiera bazę danych i tabele z osobami
  16. //zapisanymi na listę dystrybucyjna newslettera
  17. $adres_ip_serwera_mysql_z_baza_danych = 'localhost';
  18.  
  19. //nazwa bazy danych z tabelą newsletter zawierającą osoby zapisane na
  20. //listę dystrybucyjna newslettera
  21. $nazwa_bazy_danych = '16230';
  22.  
  23. //nazwa uzytkownika bazy danych $nazwa_bazy_danych
  24. $login_bazy_danych = '16230';
  25.  
  26. //haslo uzytkownika bazy danych $nazwa_bazy_danych
  27. $haslo_bazy_danych = 'moje haslo';
  28.  
  29. ////////////////////////////////////////////////////////////
  30. //Kod programu
  31.  
  32. //Ustanawiamy połączenie z serwerem mysql
  33. if ( !mysql_connect($adres_ip_serwera_mysql_z_baza_danych,
  34.  
  35. $login_bazy_danych,$haslo_bazy_danych) ) {
  36. echo 'Nie moge polaczyc sie z baza danych';
  37. exit (0);
  38. }
  39. //Wybieramy baze danych na serwerze mysql ktora zawiera tabele
  40. //newsletter gdzie sa dane osob z listy dystrybucyjnej
  41. if ( !mysql_select_db($nazwa_bazy_danych) ) {
  42. echo 'Blad otwarcia bazy danych';
  43. exit (0);
  44. }
  45.  
  46. $sortBy = (isset($_GET['sortBy']))? $_GET['sortBy'] : "uid" ;
  47. $order = (isset($_GET['order']))? $_GET['order'] : "desc" ;
  48. $zapytanie = "SELECT * FROM `mri` ORDER BY $sortBY $order";
  49. $wynik = mysql_query($zapytanie);
  50.  
  51. //Wyświetlamy w tabeli html dane pobrane
  52. //z tabeli newsletter bazy mysql
  53. //Najpierw definiujemy nagłówek tabeli html
  54. echo "<p>";
  55. echo "<table boder=\"1\"><tr>";
  56. switch($_GET['order']):
  57.  
  58. case 'asc':
  59.  
  60. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=uid&order=desc"><strong>UID</strong></a></td>";
  61. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=name&order=desc"><strong>Imie</strong></a></td>";
  62. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=surname&order=desc"><strong>Nazwisko</strong></a></td>";
  63. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=date&order=desc"><strong>data</strong></a></td>";
  64.  
  65. break;
  66.  
  67. case 'desc':
  68.  
  69. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=uid&order=asc"><strong>UID</strong></a></td>";
  70. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=name&order=asc"><strong>Imie</strong></a></td>";
  71. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=surname&order=asc"><strong>Nazwisko</strong></a></td>";
  72. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=date&order=asc"><strong>data</strong></a></td>";
  73.  
  74. break;
  75.  
  76. default:
  77.  
  78. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=uid&order=desc"><strong>UID</strong></a></td>";
  79. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=name&order=desc"><strong>Imie</strong></a></td>";
  80. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=surname&order=desc"><strong>Nazwisko</strong></a></td>";
  81. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=date&order=desc"><strong>data</strong></a></td>";
  82.  
  83. break;
  84.  
  85. endswitch;
  86.  
  87. echo "</tr>";
  88. //Teraz wyświetlamy kolejne wiersze z tabeli newsletter
  89. //Pola tabeli newsletter pobieramy odwołując się do ich
  90. //numerów jak poniżej:
  91. // 0 (UID)
  92. // 1 (Imie)
  93. // 2 (Nazwisko)
  94. // 3 (Mail)
  95. while ( $row = mysql_fetch_row($wynik) ) {
  96. echo "</tr>";
  97. echo "<td bgcolor=\"ffff00\">" . $row[0] . "</td>";
  98. echo "<td bgcolor=\"ffff99\">" . $row[1] . "</td>";
  99. echo "<td bgcolor=\"ffff00\">" . $row[2] . "</td>";
  100. echo "<td bgcolor=\"ffff99\">" . $row[3] . "</td>";
  101. echo "</tr>";
  102. }
  103. echo "</table>";
  104.  
  105.  
  106. //Zamykamy połączenie z bazą danych
  107. if ( !mysql_close() ) {
  108. echo 'Nie moge zakonczyc polaczenia z baza danych';
  109. exit (0);
  110. }
  111.  
  112. ?>
  113.  
  114.  
  115.  

i nic 0 reakcji
rad11
Nie kopiuj bezmyślnie. Wszędzie w Switch gdzie masz sortBy=
zmien na sortBy=Twoja nazwa kollumny z bazy danych
meteseron2
  1. case 'asc':
  2.  
  3. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=id&order=desc"><strong>UID</strong></a></td>";
  4. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=nazwa&order=desc"><strong>Imie</strong></a></td>";
  5. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=opis&order=desc"><strong>Nazwisko</strong></a></td>";
  6. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=data&order=desc"><strong>data</strong></a></td>";
  7.  
  8. break;
  9.  
  10. case 'desc':
  11.  
  12. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=id&order=asc"><strong>UID</strong></a></td>";
  13. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=nazwa&order=asc"><strong>Imie</strong></a></td>";
  14. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=opis&order=asc"><strong>Nazwisko</strong></a></td>";
  15. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=data&order=asc"><strong>data</strong></a></td>";
  16.  
  17. break;
  18.  
  19. default:
  20.  
  21. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=id&order=desc"><strong>UID</strong></a></td>";
  22. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=nazwa&order=desc"><strong>Imie</strong></a></td>";
  23. echo "<td bgcolor=\"ffff00\"><a href="?sortBy=opis&order=desc"><strong>Nazwisko</strong></a></td>";
  24. echo "<td bgcolor=\"ffff99\"><a href="?sortBy=data&order=desc"><strong>data</strong></a></td>";
  25.  
  26. break;
  27.  
  28. endswitch;

Zrobione i dalej nie moge klikac na strone zeby to sortowało sad.gif
rad11
Pozamieniaj:

  1. "?sortBy=id&order=desc"


na

  1. '?sortBy=id&order=desc'


i w tym wypadku linijke:
  1. $sortBy = (isset($_GET['sortBy']))? $_GET['sortBy'] : "uid" ;


zamien na :

  1. $sortBy = (isset($_GET['sortBy']))? $_GET['sortBy'] : "id" ;
meteseron2
  1. case 'asc':
  2.  
  3. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=id&order=desc'><strong>UID</strong></a></td>";
  4. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=nazwa&order=desc'><strong>Imie</strong></a></td>";
  5. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=opis&order=desc'><strong>Nazwisko</strong></a></td>";
  6. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=data&order=desc'><strong>data</strong></a></td>";
  7.  
  8. break;
  9.  
  10. case 'desc':
  11.  
  12. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=id&order=asc'><strong>UID</strong></a></td>";
  13. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=nazwa&order=asc'><strong>Imie</strong></a></td>";
  14. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=opis&order=asc'><strong>Nazwisko</strong></a></td>";
  15. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=data&order=asc'><strong>data</strong></a></td>";
  16.  
  17. break;
  18.  
  19. default:
  20.  
  21. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=id&order=desc'><strong>UID</strong></a></td>";
  22. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=nazwa&order=desc'><strong>Imie</strong></a></td>";
  23. echo "<td bgcolor=\"ffff00\"><a href='?sortBy=opis&order=desc'><strong>Nazwisko</strong></a></td>";
  24. echo "<td bgcolor=\"ffff99\"><a href='?sortBy=data&order=desc'><strong>data</strong></a></td>";
  25.  
  26. break;
  27.  
  28. endswitch;
]
Dalej nic przyjacielu
rad11
Dodaj za zmienna
  1. $wynik
to
  1. var_dump($wynik);exit;
i spróbuj kliknąć na odnośnik i napisz co Ci się pokazuje.

I dodaj do :

  1. $wynik = mysql_query($zapytanie) or die(mysql_error()));
rad11
Ma byc sortBy przed ? dodaj nazwe pliku w ktorym jest ten kod czyli bedzie np index.php?sortBy itd.
meteseron2
Móglbys podac przykład jak to zrobić? bo jestem zielony
rad11
  1. $zapytanie = "SELECT * FROM `mri` ORDER BY $sortBy $order";


Ma byc.
meteseron2
tak mam caly czas nic nie zmienialem
  1. $zapytanie = "SELECT * FROM `mri` ORDER BY $sortBY $order";

przy takich zmiennych ciagle wywala błąd lecz mozna kliknac juz w kolumne
  1. $sortBy = (isset($_GET['sortBy']))? $_GET['sortBy'] : "uid" ;
  2. $order = (isset($_GET['order']))? $_GET['order'] : "desc" ;
  3. $zapytanie = "SELECT * FROM `mri` ORDER BY $sortBY $order";
  4. $wynik = mysql_query($zapytanie);

a taki jest błąd
  1. Notice: Undefined variable: sortBY IN /home/students/16230/public_html/mri/mysql.php ON line 47
  2. Notice: Undefined INDEX: ORDER IN /home/students/16230/public_html/mri/mysql.php ON line 55 Warning: mysql_fetch_row() expects parameter 1 TO be resource, BOOLEAN given IN /home/students/16230/public_html/mri/mysql.php ON line 94
rad11
Napisałem Ci wyżej jak ma byc.
meteseron2
  1. $zapytanie = "SELECT * FROM `mri` ORDER BY $sortBy $order";
tak?
rad11
Tak
meteseron2
z taką zmienna
  1. $zapytanie = "SELECT * FROM `mri` ORDER BY $sortBy $order";

na stronie wyskakuje taki błąd
  1. Notice: Undefined INDEX: ORDER IN /home/students/16230/public_html/mri/mysql.php ON line 55 Warning: mysql_fetch_row() expects parameter 1 TO be resource, BOOLEAN given IN /home/students/16230/public_html/mri/mysql.php ON line 94
DamianRastMan
  1. <?php
  2.  
  3. ////////////////////////////////////////////////////////////
  4. //Przykład kodu wyświetlającego dane z bazy mysql (tabeli newsletter z
  5. //osobami zapisanymi na listę dystrybucyjną)
  6. //Wymagania
  7. // 1. Zalozona baza mysql na serwerze
  8. // 2. Tabela newsletter w bazie mysql z polami imie, nazwisko, mail
  9. ////////////////////////////////////////////////////////////
  10.  
  11. ////////////////////////////////////////////////////////////
  12. //Definicje zmiennych
  13.  
  14. //adres ip serwera mysql który zawiera bazę danych i tabele z osobami
  15. //zapisanymi na listę dystrybucyjna newslettera
  16. $adres_ip_serwera_mysql_z_baza_danych = 'localhost';
  17.  
  18. //nazwa bazy danych z tabelą newsletter zawierającą osoby zapisane na
  19. //listę dystrybucyjna newslettera
  20. $nazwa_bazy_danych = '16230';
  21.  
  22. //nazwa uzytkownika bazy danych $nazwa_bazy_danych
  23. $login_bazy_danych = '16230';
  24.  
  25. //haslo uzytkownika bazy danych $nazwa_bazy_danych
  26. $haslo_bazy_danych = 'moje haslo';
  27.  
  28. ////////////////////////////////////////////////////////////
  29. //Kod programu
  30.  
  31. //Ustanawiamy połączenie z serwerem mysql
  32. if ( !mysql_connect($adres_ip_serwera_mysql_z_baza_danych,
  33.  
  34. $login_bazy_danych,$haslo_bazy_danych) ) {
  35. echo 'Nie moge polaczyc sie z baza danych';
  36. exit (0);
  37. }
  38. //Wybieramy baze danych na serwerze mysql ktora zawiera tabele
  39. //newsletter gdzie sa dane osob z listy dystrybucyjnej
  40. if ( !mysql_select_db($nazwa_bazy_danych) ) {
  41. echo 'Blad otwarcia bazy danych';
  42. exit (0);
  43. }
  44.  
  45. //Definiujemy zapytanie pobierające wszystkie wiersze z wszystkimi
  46. //polami z tabeli newsletter
  47.  
  48.  
  49. if(isset($_GET['sort']))
  50. {
  51. $sort = ' ORDER BY `'.$_GET['sort'].'`';
  52. }
  53. else
  54. {
  55. $sort = ' ORDER BY `id`';
  56. }
  57.  
  58. $zapytanie = "SELECT * FROM `mri`".$sort;
  59. //wykonujemy zdefiniowane zapytanie na bazie mysql
  60. $wynik = mysql_query($zapytanie);
  61.  
  62. //Wyświetlamy w tabeli html dane pobrane
  63. //z tabeli newsletter bazy mysql
  64. //Najpierw definiujemy nagłówek tabeli html
  65. echo "<p>";
  66. echo "<table boder=\"1\"><tr>";
  67. echo "<td bgcolor=\"ffff00\"><strong><a href='?sort=id'>UID</a></strong></td>";
  68. echo "<td bgcolor=\"ffff99\"><strong><a href='?sort=nazwa'>Imie</a></strong></td>";
  69. echo "<td bgcolor=\"ffff00\"><strong><a href='?sort=opis'>Nazwisko</a></strong></td>";
  70. echo "<td bgcolor=\"ffff99\"><strong><a href='?sort=data'>data</a></strong></td>";
  71. echo "</tr>";
  72. //Teraz wyświetlamy kolejne wiersze z tabeli newsletter
  73. //Pola tabeli newsletter pobieramy odwołując się do ich
  74. //numerów jak poniżej:
  75. // 0 (UID)
  76. // 1 (Imie)
  77. // 2 (Nazwisko)
  78. // 3 (Mail)
  79. while ( $row = mysql_fetch_row($wynik) ) {
  80. echo "</tr>";
  81. echo "<td bgcolor=\"ffff00\">" . $row[0] . "</td>";
  82. echo "<td bgcolor=\"ffff99\">" . $row[1] . "</td>";
  83. echo "<td bgcolor=\"ffff00\">" . $row[2] . "</td>";
  84. echo "<td bgcolor=\"ffff99\">" . $row[3] . "</td>";
  85. echo "</tr>";
  86. }
  87. echo "</table>";
  88.  
  89.  
  90. //Zamykamy połączenie z bazą danych
  91. if ( !mysql_close() ) {
  92. echo 'Nie moge zakonczyc polaczenia z baza danych';
  93. exit (0);
  94. }
  95.  
  96. ?>
meteseron2
Super panowie działa - jesteśce wielcy!
rad11
Nie powiedziałbym tego ale jak uwazasz ze tak to juz twoja sprawa smile.gif
Masz sortowanie tylko w jednym kierunku dla kazdej kolumny od kolegi wyzej Ja Ci dalem opcje rosnoaca malejaco dla kazdej kolumny
DamianRastMan
Jeżeli skorzystałeś z mojego 'kodu', przyznam, że pomysł pana z którym wcześniej chwilę się męczyłeś, był bardziej rozbudowany, ponieważ posiadał opcję sortowania rosnąco i malejąco, w chwili gdy mój sortuje tylko w jedną stronę. Dlatego, jeżeli zależy Ci na tej funkcji, polecam kontynuować poprzedni dialog.

Swoją drogą Rad11, gratuluję jubileuszowej liczby postów! smile.gif 1000.

@edit
Podsyłam na pw rozwiązanie, z możliwością sortowania w obie strony.
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.