Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Rekordy alfabetycznie
Forum PHP.pl > Forum > Przedszkole
Abees
Witam mam przykładowy skrypt wyświetlający liste banów z bazy danych:
  1. <?php
  2. function connect_db(){
  3. mysql_connect('server', 'username', 'password');
  4. mysql_select_db(database) or die( "Unable to select database");
  5. }
  6. connect_db();
  7.  
  8. $sql = 'SELECT * FROM `bans`'; // This is the query to be made
  9. $query = mysql_query($sql); // Here we execute the query
  10. ?>
  11. <h2>Banlist</h2>
  12. <br>
  13. <table border=1>
  14. <tr>
  15. <td><b>Name</b></td>
  16. <td><b>Release date</b></td>
  17. <td><b>Reason</b></td>
  18. </tr>
  19. <?php
  20. while ($player = mysql_fetch_array($query)) // Here we run thru the query's array
  21. {
  22. if ($player['type'] == 2) // We print only the Player Bans
  23. {
  24. echo '<tr>';
  25. echo '<td>'.$player['player'].'</td>'; // Players name...
  26. echo '<td>'.date('M d Y, H:i:s',$player['time']).'</td>'; // Release date...
  27. echo '<td>'.$player['reason'].'</td>'; // And reason!
  28. echo '</tr>'; // Done! :)
  29. }
  30. }
  31. ?>
  32. </table>

Chciałbym by po wciśnięciu np napisu Name wyświetliły się rekordy od A do Z a po 2 kliku od Z do A da się tak?
Jak tak to czy ktoś mógł w ten skrypt to w robić i powiedzieć jak to zrobił biggrin.gif
Dziękuje.
piotrooo89
to problem z js bardziej niż z mysql'a.

  1. <table border=1 id="s">
  2. <tr>
  3. <td class="sort"><b>Name</b></td>
  4. <td class="sort"><b>Release date</b></td>
  5. <td class="sort"><b>Reason</b></td>
  6. </tr>
  7. <?php
  8. while ($player = mysql_fetch_array($query)) // Here we run thru the query's array
  9. {
  10. if ($player['type'] == 2) // We print only the Player Bans
  11. {
  12. echo '<tr>';
  13. echo '<td>'.$player['player'].'</td>'; // Players name...
  14. echo '<td>'.date('M d Y, H:i:s',$player['time']).'</td>'; // Release date...
  15. echo '<td>'.$player['reason'].'</td>'; // And reason!
  16. echo '</tr>'; // Done! :)
  17. }
  18. }
  19. ?>
  20. </table>

i skrypt:
  1. <?php
  2. onl=(window.onload||new Function); 
  3. onload=function()
  4. { 
  5. onl(); 
  6. for(var i=0,d; d=document.getElementsByTagName('tr')[i++];)
  7. { 
  8. for(var j=0,e; e=d.getElementsByTagName('td')[j];j++)
  9. {
  10. if(e.className=='sort')
  11. { 
  12. e.n=j; e.onclick=function()
  13. {
  14. sort(this.n,this);
  15. }  
  16. } 
  17. } 
  18. }  
  19. } 
  20. function sort(v,d)
  21. { 
  22. d.o>0?(d.o=-1):(d.o=1); 
  23. var t=d.parentNode.parentNode.parentNode.getElementsByTagName('tbody')[0]; 
  24. var c=[]; 
  25. for(var i=0,w;w=t.getElementsByTagName('tr')[i];i++)
  26. { 
  27. c[i]=[]; 
  28. for(var j=0;k=w.getElementsByTagName('td')[j];j++)
  29. { 
  30. c[i][j]=k.firstChild.data; 
  31. } 
  32. } 
  33. c.sort(function(a,b){return a[v]>b[v]?d.o:-d.o}); 
  34. for(var i=0,w;w=t.getElementsByTagName('tr')[i];i++)
  35. { 
  36. for(var j=0;k=w.getElementsByTagName('td')[j];)
  37. { 
  38. k.firstChild.data=c[i][j++]; 
  39. } 
  40. } 
  41. }
  42. ?>


ja z czegoś takiego korzystam.
Abees
No thx a wytłumaczysz bardziej skrypt itp?
Abees
ODŚWIEŻAM!
Proszę o pomoc! winksmiley.jpg
Abees
A może:
SELECT * FROM nazwa_tabeli ORDER BY nazwa_pola DESC
jak to zrobić za pomocą tego?? gdzie mam to wkleić a chce mieć name posegregowane!:]
Gośc
  1. <?php
  2.  
  3. if(($s=="") && ($e=="")){
  4. $s="0";
  5. //ustawiamy limit na 20 pozycji na stronie
  6. $e="20";
  7. }
  8. //łączymy się z bazą
  9. $conn = mysql_connect("localhost","user","password");
  10. mysql_select_db("MOJABAZA");
  11.  
  12. $zapytanie="SELECT * FROM wyszukiwarka WHERE opis LIKE '%$searchtext%' ORDER by id DESC" LIMIT $s,$e;
  13. $wynik=mysql_query($zapytanie);
  14. echo"Wyniki wyszukiwania dla zapytania: <b>$searchtext</b><br><br>";
  15.  
  16. //teraz zliczymy sobie ilość rekordów, będzie nam to potrzebne aby wiedzieć czy
  17. //czy utworzyć link "następna strona" jeśli będzie to potrzebne
  18. list($ile)=mysql_fetch_row(mysql_db_query("MOJABAZA","SELECT count(*) FROM wyszukiwarka WHERE opis LIKE '%$w%'"));
  19.  
  20. while($rekord=mysql_fetch_array($wynik)){
  21. <table border=\"1\" cellpadding=\"2\" width=\"100%\">
  22. <tr><td bgcolor=\"#80D6FF\">
  23. <a href=\"".$rekord['adres']."\">".$rekord['tytul']."</a>
  24. </td></tr><tr><td>
  25. ".$rekord['opis']."
  26. </td></tr></table>";
  27. }
  28.  
  29. //generujemy linki do następnej strony jeśli rekordów jest więcej niż tych wyświet
    lonych
  30. echo"<center>";
  31. if($ile <= $e){
  32. echo"<img src=\"img/bc.jpg\" border=\"0\"> <a href=\"javascript:history.back();\">poprzednia strona</a>";
  33. }
  34. if(($ile <= $e) && ($ile > $e)){
  35. echo" | ";
  36. }
  37. if($ile > $e){
  38. echo"<a href=\"$url/show_l.phtml?s=$e&e=".$b=$e+$e."\">następna strona</a> <img src=\"img/nx.jpg\" border=\"0\">";
  39. }
  40. echo"</center>";
  41. ?>

oraz jak podłączyć porcjowanie na strony do tego mojego skryptu??
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.