Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]sortowanie, czemu nie działa?
Oscar_83
post 9.09.2007, 21:40:49
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

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


Witam, mam taki problem mam taki kod:

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <meta name="Author" content="Marek Żukowski" />
  5. <title>Transfery</title>
  6. <style type="text/css">
  7. /* <![CDATA[ */
  8. a:hover {color: #FFFFFF; background-color: #426F0B; style="text-decoration: none"}
  9. /* ]]> */
  10. </style>
  11. </head>
  12. <body link="416F76" vlink="416F76" alink="416F76" bgcolor="A2BE76">
  13. <?php
  14.  
  15. $polaczenie = mysql_connect("localhost", "mzukowski", "xxx") or die("Sprawdź połączenie z serwerem");
  16. mysql_select_db("mzukowski",$polaczenie);
  17. mysql_query('SET NAMES latin2');
  18.  
  19. empty($_GET['sort'])?$sort='data_s':$sort=$_GET['sort'];
  20. $query = 'SELECT * FROM transfery ORDER BY "'.$sort.'"' ;
  21. $results = mysql_query($query, $polaczenie) or die (mysql_error());
  22. $num_transfery = mysql_num_rows($results);
  23.  
  24. $transfery = '
  25. <h2><center><br><font face="lucida console">Wszystkie transfery</font><br><br></center></h2>
  26. <table width="90%" border="1" cellpadding="2" cellspacing="2" align="center" bgcolor="FFFFFF">
  27.  <tr>
  28.  <th><font color="416F76">L.p</font>
  29.  <th><a href="transfery.php?sort=imie" style="text-decoration: none">Imię</a></th>
  30.  <th><a href="transfery.php?sort=nazwisko" style="text-decoration: none">Nazwisko</a></th>
  31.  <th><a href="transfery.php?sort=data_k" style="text-decoration: none">Data kupna</a></th>
  32.  <th><a href="transfery.php?sort=cena_k" style="text-decoration: none">Cena</a></th>
  33.  <th><a href="transfery.php?sort=data_s" style="text-decoration: none">Data sprzedaży</a></th>
  34.  <th><a href="transfery.php?sort=cena_s" style="text-decoration: none">Cena</a></th>
  35.  <th><a href="transfery.php?sort=zysk" style="text-decoration: none">zysk/strata</a></th>
  36.  </tr>
  37. ';
  38. $lp = 0;
  39. $zysk = 0;
  40.  
  41. while($row=mysql_fetch_assoc($results)){
  42. $lp++;
  43. $zysk = ($row ['cena_s']) - ($row ['cena_k']);
  44. $transfery .= '
  45. <tr>
  46. <td>'.$lp.'</td>
  47. <td>'.$row['imie'].'</td>
  48. <td>'.$row['nazwisko'].'</td>
  49. <td style="text-align: center;">'.$row['data_k'].' &nbsp</td>
  50. <td style="text-align: right;">'.$row['cena_k'].' &nbsp</td>
  51. <td style="text-align: center;">'.$row['data_s'].' &nbsp</td>
  52. <td style="text-align: right;">'.$row['cena_s'].' &nbsp</td>
  53. <td>'.$zysk.'</td>
  54. </tr>
  55. ';
  56. }
  57. $transfery .= '</table>';
  58.  
  59.  
  60.  echo $transfery;
  61.  echo '<h3><center><br><font face="lucida console">Do tej pory przeprowadzono '.$num_transfery.' transferów.</font></center></h3>';
  62.  
  63.  
  64. ?>
  65. </body>
  66. </html>


Kiedyś było wszystko dobrze a od jakiegoś czasu sortowanie przestało działać :/ nie wiem czemu chodzi mi o te sortowanie po nagłówku tabeli.

Bardzo możliwe że stało się to po wprowadzeniu nowszego phpmyadmina dla mojej bazy na ovh. pewny nie jestem, bo dopiero niedawno zorietnowałem się że nie działa.

Ten post edytował Oscar_83 9.09.2007, 21:44:59
Go to the top of the page
+Quote Post
domis86
post 9.09.2007, 21:52:45
Post #2





Grupa: Zarejestrowani
Postów: 255
Pomógł: 5
Dołączył: 20.03.2007
Skąd: Kraków

Ostrzeżenie: (30%)
XX---


to:

$query = 'SELECT * FROM transfery ORDER BY "'.$sort.'"' ;

zamien na:

$query = "SELECT * FROM transfery ORDER BY `".$sort."`" ;
Go to the top of the page
+Quote Post
Oscar_83
post 9.09.2007, 22:06:08
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

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


Działa smile.gif) super!! dzięki, bo już nie miałem pojęcia co tu jest grane smile.gif


a gdy mam takie sortowanie względem punktów:
  1. <?php
  2. $query = "SELECT * FROM liga_sezon21 ORDER BY Punkty DESC";
  3. ?>


a chciałbym zeby mi w pierwszej kolejności sortowało pod względem pkt, a w drugiej kolejności pod względem bramek, to jak to zrobić, bo mam tabele z drużynami piłkarskimi i jeśli mają tyle samo pkt to powinno bramki brać pod uwagę a nie bierze i jest zła kolejność

a cały kod wygląda tak:
  1. <?php
  2. $polaczenie = mysql_connect("localhost", "mzukowski", "xxx") or die("Sprawdź połączenie z serwerem");
  3. mysql_select_db("mzukowski",$polaczenie);
  4. mysql_query('SET NAMES latin2');
  5.  
  6. $query = "SELECT * FROM liga_sezon21 ORDER BY Punkty DESC";
  7. $results = mysql_query($query)
  8. or die (mysql_error());
  9. $liga_nag = '
  10. <h2><center>Liga V.90 sezon 21</center></h2>
  11. <table width="90%" border="1" cellpadding="2" cellspacing="2" align="center" bgcolor="FFFFFF">
  12.  <tr>
  13.  <th>Miejsce</th>
  14.  <th>Drużyna</th>
  15.  <th>Mecze</th>
  16.  <th>Wygrane</th>
  17.  <th>Remisy</th>
  18.  <th>Przegrane</th>
  19.  <th>Bramki</th>
  20.  <th>Punkty</th>
  21.  </tr>
  22. ';
  23. $lp = 0;
  24. while($row=mysql_fetch_array($results)){
  25. $lp++;
  26. $liga_nag .= '
  27.  <tr>
  28.  <td style="text-align: center;">'.$lp.'</td>
  29.  <td>'.$row['druzyna'].'</td>
  30.  <td style="text-align: center;">'.$row['mecze'].'</td>
  31.  <td style="text-align: center;">'.$row['wygrane'].'</td>
  32.  <td style="text-align: center;">'.$row['remisy'].'</td>
  33.  <td style="text-align: center;">'.$row['przegrane'].'</td>
  34.  <td style="text-align: center;">'.$row['bramki'].'</td>
  35.  <td style="text-align: center;">'.$row['punkty'].'</td>
  36.  </tr>
  37. ';
  38. }
  39. $liga_nag .="</table>";
  40.  
  41. echo $liga_nag;
  42. ?>


Ten post edytował Oscar_83 9.09.2007, 22:18:22
Go to the top of the page
+Quote Post
GrayHat
post 9.09.2007, 22:21:13
Post #4





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

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


Kod
ORDER BY punkty, bramki


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
Oscar_83
post 9.09.2007, 22:31:56
Post #5





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

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


Dzięki wielkie za wszystkie podpowiedzi
Pozdrawiam bardzo serdecznie smile.gif

w moim przypadku musiałem 2 razy DESC wpisać bo chciałem żeby sortowało od największej do najmniejszej :
  1. <?php
  2. $query = "SELECT * FROM liga_sezon21 ORDER BY punkty DESC, bramki DESC";
  3. ?>
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 Wersja Lo-Fi Aktualny czas: 17.06.2025 - 14:40