Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problerm z sortowaniem
Forum PHP.pl > Forum > Przedszkole
nighttrain
Witam !

mam taki problemik, mam skrypcik, który ładnie wyświetla mi rekordy danej tabeli. Ostatnio chcąc uleprzyc go próbowałem z pomocą znajomego dodać do niego opcje sortowania kolumn.
Dodałem do nazw kolumn linki oraz próbowałem podpiąć kodzik. W finale skrypt "działa", ale to tylko graficzna część statyczna w top i bottom dołączonym do skryptu.Właściwa część dynamiczna nie działa. Nie mogę sobie poradzić, aby uruchomić poprawnie ten skrypt. Czy byłby ktoś tak miły i zerknął na to? Zależy mi również na wszelkich sugestiach, czy kod w miarę jest odpowiednio poukładany, czy bardziej zamieszany co i jak. Wypluwa, że undefinied 12 i 13 line.

Oto ten skrypt:
  1. <?php include "top.php"; ?>
  2. <?php
  3.  
  4. //==============POLACZENIE Z BAZA DANYCH
  5.  
  6. $msql = mysql_connect('localhost', 'root', 'qazwsx');
  7. mysql_select_db('komputery');
  8. mysql_query("SET NAMES 'utf8'");
  9.  
  10. //==============SEKCJA IMPLEMENTACJI KODU DLA EDIT (EDIT)
  11.  
  12. $a = trim($_REQUEST['a']);
  13. $id = trim($_GET['id']);
  14.  
  15. if($a == 'edit' and !empty($id)) {
  16.  
  17. $wynik = mysql_query("SELECT * FROM komputery WHERE
  18. id='$id'")
  19. or die('Blad zapytania');
  20.  
  21. //==============WYŚWIETLAMY WYNIKI, SPRAWDZAMY, CZY ZAPYTANIE ZWRÓCIŁO WARTOŚĆ > 0
  22.  
  23. if(mysql_num_rows($wynik) > 0) {
  24.  
  25. //==============ODCZYTUJEMY ZAWARTOŚĆ WIERSZA Z TABELI
  26.  
  27. $r = mysql_fetch_assoc($wynik);
  28.  
  29. //==============WCZYTUJEMY DANE DO FORMULARZA
  30.  
  31. echo '<form action="" method="post">
  32. <input type="hidden" name="a" value="save" />
  33. <input type="hidden" name="id" value="'.$id.'" />
  34. <input type="text" name="id" value="'.$r['id'].'" />
  35. <input type="text" name="nazwa_komputera" value="'.$r['nazwa_komputera'].'" />
  36. <input type="text" name="nazwa_dzialu" value="'.$r['nazwa_dzialu'].'" />
  37. <input type="text" name="imie_nazwisko_usera" value="'.$r['imie_nazwisko_usera'].'" />
  38. <input type="image" src="graphics/Kopia button_uaktualnij.jpg" alt="Wyslij" value="popraw">
  39.  
  40. </form>';
  41. echo("</center>");
  42.  
  43. }
  44. }
  45.  
  46. elseif($a == 'save') {
  47.  
  48. //==============ODBIERAMY ZMIENNE Z FORMULARZA
  49.  
  50. $id = $_POST['id'];
  51. $nazwa_komputera = trim($_POST['nazwa_komputera']);
  52. $nazwa_dzialu = trim($_POST['nazwa_dzialu']);
  53. $imie_nazwisko_usera = trim($_POST['imie_nazwisko_usera']);
  54.  
  55. //==============UAKTUALNIAMY TABELĘ KOMPUTERY O DANE, KTÓRE WPISALISMY
  56.  
  57.  
  58. mysql_query("UPDATE komputery SET id='$id', nazwa_komputera='$nazwa_komputera', nazwa_dzialu='$nazwa_dzialu',imie_nazwisko_usera='$imie_nazwisko_usera' WHERE id='$id'")
  59. or die('Blad zapytania');
  60. echo nl2br("\n");
  61. echo 'DANE ZOSTALY POPRAWNIE ZAKTUALIZOWANE!';
  62. }
  63.  
  64. //==============DEKLARACJA ZMIENNEJ SORTOWANIE
  65.  
  66. $sortowanie="";
  67. if(isset($_GET['order'])){
  68. $sortowanie = $_GET['order'];
  69.  
  70.  
  71. switch($sortowanie){
  72. case "komputer":
  73. $sql_sortowanie = " order by nazwa_komputera";
  74. break;
  75. case "dzial":
  76. $sql_sortowanie = " order by nazwa_dzialu";
  77. break;
  78. case "nazwisko":
  79. $sql_sortowanie = " order by imie_nazwisko_usera";
  80. break;
  81. }
  82. }
  83. $sql = "SELECT *
  84. FROM komputery WHERE id='$id'";
  85.  
  86. if($sortowanie!=""){
  87. $sql .= $sql_sortowanie;
  88. }
  89.  
  90. $wynik = mysql_query($sql) or die('Blad zapytania');
  91.  
  92. //WYSWIETLENIE WYNIKOW JESLI TABELA POSIADA CHOC JEDEN REKORD > 0
  93.  
  94. if(mysql_num_rows($wynik) > 0) {
  95.  
  96. echo("<center>");
  97. echo "<table cellpadding=\"0\" cellspacing=\"0\" border=1>";
  98. echo "<tr><td colspan=11 bgcolor=\"#a7a7a7\"><b>Tabela komputery firmowe</b></td></tr>";
  99. echo "<tr class='colheader'><th nowrap class='colheader' valign='top' align='left'>ID</th>";
  100. echo "<th nowrap class='colheader' valign='top' align='left'><a href='http://localhost/wyswietl.php?order=komputer'>Nazwa komputera</a></th>";
  101. echo "<th nowrap class='colheader' valign='top' align='left'><a href='http://localhost/wyswietl.php?order=dzial'>Nazwa dzialu</a></th>";
  102. echo "<th nowrap class='colheader' valign='top' align='left'><a href='http://localhost/wyswietl.php?order=nazwisko'>Imię i nazwisko użytkownika</a></th>";
  103. echo "</tr>";
  104.  
  105. while($r = mysql_fetch_assoc($wynik)) {
  106.  
  107. echo "<tr>";
  108. echo "<td>".$r['id']."</td>";
  109. echo "<td>".$r['nazwa_komputera']."</td>";
  110. echo "<td>".$r['nazwa_dzialu']."</td>";
  111. echo "<td>".$r['imie_nazwisko_usera']."</td>";
  112.  
  113. echo "</tr>";
  114. }
  115. echo "</table>";
  116. echo("</center>");
  117. }
  118. ?>
  119. <?php include "bottom.php"; // wkleja koniec stronki ?>
  120.  
Darti
Może nie na temat ale :

  1. $id = $_POST['id'];
  2.  
  3. // .... 3 linijki niżej :
  4.  
  5. mysql_query("UPDATE komputery SET id='$id', nazwa_komputera='$nazwa_komputera', nazwa_dzialu='$nazwa_dzialu',imie_nazwisko_usera='$imie_nazwisko_usera' WHERE id='$id'")
  6.  

sciana.gif sciana.gif sciana.gif sciana.gif sciana.gif sciana.gif
nighttrain
ok znalazłem błąd, w zapytaniu trzeba było wywalic tylko WHERE, że też wcześniej tego nie zauważyłem ;/
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.