Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sortowanie wg dowolnej kolumny, php/mysql
powertee
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 13.12.2007
Skąd: Katowice/Goleniowy

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


powiedzmy ze mamy taaką tabele do której wczytywane są dane z bazy danych mysql.
chciałbym zeby po kliknieciu linku w nagłówku każdej koluny została wykonana operacja sortuj. jedno klikniecie-->sortowanie rosnące a drugie malejące i tak z kazdą kolumną wie ktoś jak to zrobić??
  1. <table width="75%" border="1" align="center" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#EFEFEF" rules="all">
  2. <tr>
  3. <th height="29" colspan="5" scope="col"><span class="style5">BAZA WYKONAWCÓW</span></th>
  4. </tr>
  5. <tr>
  6. <th height="20" class="style10" scope="col"><em><strong>Imie</strong></em></th>
  7. <th class="style10" scope="col"><em><strong>Nazwisko</strong></em></th>
  8. <th class="style10" scope="col"><em><strong>Rok Urodzenia</strong></em></th>
  9. <th class="style23" scope="col">Uwagi</th>
  10. <th class="style23" scope="col">Akcja</th>
  11. </tr>
  12. <tr>
  13. <?php
  14. /* Tabela Wykonawców */
  15. $songsql = "SELECT * FROM artist" ;
  16. $result = mysql_query($songsql)
  17. or die ("Niepoprawne zapytanie: " . mysql_error());
  18. while ($row = mysql_fetch_array($result)) {
  19. ?>
  20.  
  21. <th width="19%" height="28" scope="col"> <? echo $row['name'] ; ?> </th>
  22. <th width="20%" scope="col"> <? echo $row['surname']; ?> </th>
  23. <th width="14%" scope="col"> <? echo $row['data'] ; ?> </th>
  24. <th width="35%" scope="col"><? echo $row['uwagi'] ; ?> </th>
  25. <th width="12%" scope="col">
  26.  <span class="style24"><a href="artist.php?action=edit&id=<?
  27. echo $row['id_artist']; ?>">[Edytuj]</a>
  28.  <a href="delete.php?type=artist&id=
  29.  <? echo $row['id_artist']; ?>">[Usuń]</a></span></th>
  30. </tr>
  31. <?php
  32. }
  33. ?>
  34. <tr>
  35. <th height="29" colspan="5" scope="col"><a href="artist.php?action=add&id=">[Dodaj Wykonawce]</a></th>
  36. </tr>
  37. </table>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
powertee
post
Post #2





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 13.12.2007
Skąd: Katowice/Goleniowy

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


dzięki bardzo:) to już chyba mój ostatni post w tym temacie, a co do tej ostatniej linijki dałeś o jeden za dużo "?>" ale spoko jeszcze raz dzieki:)

a jednak nie ostatni... myślałem ze zakończe już ten temat ale niestety musze drążyć go dalej...
posiadam relacyjną baze danych. dwie tabele w bazie jedna artystów druga utworów. tabela utworów pobiera wykonawce z tabeli artstów za pomocą id.
chciałbym osiągnąć coś takiego zeby pobrani wykonawcy w tabeli utworów mogli być
posortowani alfabetycznie wg nazwiska a nie id. niestety nie bardzo sie
orientuje jak ma to być zrobione. CZY WIE KTOś JAK TO MA WYGLąDAć??
pełny skrypt znajduje sie pod adresem <a href="http://powertee.w.interia.pl/sorting.txt" target="_blank">http://powertee.w.interia.pl/sorting.txt</a>
chodzi mi tylko o kolumne wykonawcy reszta jest dobrze
  1. <th height="22" scope="col"><span class="style10"><a href="?sort=title&typ=<?php print ($_GET['typ'] == 'DESC') ? 'ASC' : 'DESC'; ?>">Tytuł</span></th>
  2. <th scope="col"><span class="style10"><a href="?sor=surname&typ1=<?php print ($_GET['typ1'] == 'DESC') ? 'ASC' : 'DESC'; ?>">Wykonawca</span></th>
  3. <th scope="col"><span class="style10"><a href="?sort=rok_prem&typ=<?php print ($_GET['typ'] == 'DESC') ? 'ASC' : 'DESC'; ?>">Premiera</span></th>
  4. <th scope="col"><span class="style10"><a href="?sort=album&typ=<?php print ($_GET['typ'] == 'DESC') ? 'ASC' : 'DESC'; ?>">Album</span></th>
  5. <th scope="col"><span class="style10"><a href="?sort=kod&typ=<?php print ($_GET['typ'] == 'DESC') ? 'ASC' : 'DESC'; ?>">Kod Płyty</span></th>
  6. <th scope="col"><span class="style10"><a href="?sort=uwagi&typ=<?php print ($_GET['typ'] == 'DESC') ? 'ASC' : 'DESC'; ?>">Uwagi</span></th>
  7. <th scope="col"><span class="style10">Akcja</span></th>
  8. </tr>
  9. <tr>
  10. <?php
  11. /* tabela UTWORÓW */
  12.  
  13.  
  14. if (empty ($_GET['typ']))
  15. {
  16. $_GET['typ'] = 'ASC';
  17. }
  18.  
  19. if (empty ($_GET['sort']))
  20. {
  21. $_GET['sort'] = 'title';
  22. }
  23.  
  24. $query = ("SELECT * FROM `song` ORDER BY `" . $_GET['sort'] . "` " . $_GET['typ']);
  25.  
  26. $result = mysql_query($query, $link)
  27. or die (mysql_error());
  28. $song_header=<<<EOD
  29.  
  30.  
  31.  
  32.  
  33. EOD;
  34. function get_name() {
  35. global $namezmienna;
  36. global $artistname;
  37.  
  38. $query_d = "SELECT name, id_artist FROM artist " .
  39. "WHERE id_artist='$namezmienna'" ;
  40. $results_d = mysql_query($query_d)
  41. or die(mysql_error());
  42. $row_d = mysql_fetch_array($results_d);
  43. extract($row_d);
  44. $artistname = $name;
  45. }
  46.  
  47. function get_surname() {
  48. global $surnamezmienna;
  49. global $artistsurname;
  50. if (empty ($_GET['typ1']))
  51.  
  52. $query_a = "SELECT surname FROM artist WHERE id_artist='$surnamezmienna' ";
  53. $results_a = mysql_query($query_a)
  54.  or die(mysql_error());
  55.  $row_a = mysql_fetch_array($results_a);
  56.  extract($row_a);
  57. $artistsurname = $surname; 
  58. }
  59.  
  60. while ($row =mysql_fetch_array($result))
  61. {
  62. $id_song = $row['id_song'];
  63. $title = $row['title'];
  64. $namezmienna = $row['id_artist_song'];
  65. $surnamezmienna = $row['id_artist_song'];
  66. $rok_prem = $row['rok_prem'];
  67. $album = $row['album'];
  68. $kod = $row['kod'];
  69. $uwagi = $row['uwagi'];
  70.  
  71.  
  72. get_name();


Ten post edytował powertee 21.01.2008, 21:03:41
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 12:28