Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z klasa
Forum PHP.pl > Forum > Przedszkole
Balon
Pomyslalem ze napisze sobie klase ktora ma za zadanie pobierac dane z bazy

  1. <?
  2. class pomysly_szukaj
  3. {
  4. /** [wyszukiwanie] kategoria */
  5. var $_kategoria;
  6.  
  7. /** ile pomyslow na strone */
  8. var $_ile = '10';
  9.  
  10. /** [wyszukiwanie] sposób sortowania */
  11. var $_sort = 'desc';
  12.  
  13. /** [wyszukiwanie] szukane slowo */
  14. var $_keyword;
  15.  
  16. /** [wyszukiwanie] wedlug autora */
  17. var $_autor;
  18.  
  19. /** wyniki wyszukiwania */
  20. var $_wynik = array();
  21.  
  22.  
  23. /** ustawia parametr szukania - ile */
  24. function ustaw_ile($ile){
  25. $this->$_ile = $ile;
  26. }
  27.  
  28.  
  29. /** ustawia parametr szukania - sortowanie */
  30. function ustaw_sort($sort){
  31. $this->$_sort = $sort;
  32. }
  33.  
  34.  
  35. /** ustawia parametr szukania - slowo do szukania */
  36. function ustaw_keyword($keyword){
  37. $this->$_keyword = $keyword;
  38. }
  39.  
  40.  
  41. /** ustawia parametr szukania - slowo do szukania */
  42. function ustaw_autor($autor){
  43. $this->$_keyword = $autor;
  44. }
  45.  
  46.  
  47. /** przygotowanie do wyswietlenia */
  48. function do_wyszukiwania(){
  49. /* usuwanie zbednych spacji */
  50. $this->_kategoria = trim($this->_kategoria);
  51. $this->_ile = trim($this->_ile);
  52. $this->_sort = trim($this->_sort);
  53. $this->_keyword = trim($this->_keyword);
  54. $this->_autor = trim($this->_autor);
  55. /* usuwanie znacznikow html */
  56. $this->_kategoria = strip_tags($this->_kategoria);
  57. $this->_ile = strip_tags($this->_ile);
  58. $this->_sort = strip_tags($this->_sort);
  59. $this->_keyword = strip_tags($this->_keyword);
  60. $this->_autor = strip_tags($this->_autor);
  61. }
  62.  
  63. function szukaj(){
  64. /* laczenie z baza */
  65. connect();
  66. /* tworzenie zapytania */
  67. $query = "SELECT id, tytul, opis, kategoria FROM `pomysly` where opis LIKE '%".$this->_keyword."%' ".(isset($this->_kategoria) ? : 'AND kategoria = '.$this->_kategoria.'' : '') (isset($this->_autor) ? : 'AND autor = '.$this->_autor.'' : '')." ORDER BY id ".$this->_sort.";
  68. $wykonaj = mysql_query($query);
  69. /* wrzucanie danych do tablicy */
  70. while ($row = mysql_fetch_array($wykonaj))
  71. {
  72.  
  73. ?>


ale doszedlem do momentu w ktorym pobieram dane z bazy... no i mam klopot bo nie wiem w jaki sposob to zapisac do tablicy i w jaki sposob to potem wyciagac z niej... poprostu nie wiem w jaki sposob mam dodac to wszystko do tablicy zeby to dzialalo wogole... klasy nie testowalem jeszcze wiec jesli ktos widzi blad to bede wdzieczny jak mi go pokaze winksmiley.jpg nawet nie wiem czy ta klasa bedzie dzialala ale ... kto wie ;]
TomASS
1. Bardzo ładna enkapsulacja smile.gif Ale wydaje mi się, że to:
  1. <?php
  2.  
  3. function ustaw_autor($autor){
  4. $this->$_keyword = $autor;
  5. }
  6.  
  7.  
  8. /** przygotowanie do wyswietlenia */
  9. function do_wyszukiwania(){
  10. /* usuwanie zbednych spacji */
  11. $this->_kategoria = trim($this->_kategoria);
  12. $this->_ile = trim($this->_ile);
  13. .
  14. .
  15. .
  16.  
  17. ?>

lepiej by bylo gdyby:
  1. <?php
  2.  
  3. function ustaw_autor($autor){
  4. $this->$_keyword = trim($autor);
  5. }
  6.  
  7. ?>



2. Zapomiałeś o znakach: "; na końcu 70 linii:
  1. <?php
  2.  
  3. $query = "SELECT id, tytul, opis, kategoria FROM `pomysly` where opis LIKE '%".$this->_keyword."%' ".(isset($this->_kategoria) ? : 'AND kategoria = '.$this->_kategoria.'' : '') (isset($this->_autor) ? : 'AND autor = '.$this->_autor.'' : '')." ORDER BY id ".$this->_sort.";";
  4.  
  5. ?>



3. Co do Twojego pytania:
robisz sobie np:
  1. <?php
  2.  
  3. $=0;
  4. while ($row = mysql_fetch_array($wykonaj)){
  5.  $wyniki[$i][id]=$row['id'];
  6.  $wyniki[$i][tytul]=$row['tytul'];
  7.  .
  8.  .
  9.  .
  10.  $i++;
  11. }
  12. return $wyniki;
  13.  
  14. ?>
Balon
Cytat(TomASS @ 2006-01-25 15:52:11)
1. Bardzo ładna enkapsulacja smile.gif Ale wydaje mi się, że to:
  1. <?php
  2.  
  3. function ustaw_autor($autor){
  4. $this->$_keyword = $autor;
  5. }
  6.  
  7.  
  8. /** przygotowanie do wyswietlenia */
  9. function do_wyszukiwania(){
  10. /* usuwanie zbednych spacji */
  11. $this->_kategoria = trim($this->_kategoria);
  12. $this->_ile = trim($this->_ile);
  13. .
  14. .
  15. .
  16.  
  17. ?>

lepiej by bylo gdyby:
  1. <?php
  2.  
  3. function ustaw_autor($autor){
  4. $this->$_keyword = trim($autor);
  5. }
  6.  
  7. ?>



2. Zapomiałeś o znakach: "; na końcu 70 linii:
  1. <?php
  2.  
  3. $query = "SELECT id, tytul, opis, kategoria FROM `pomysly` where opis LIKE '%".$this->_keyword."%' ".(isset($this->_kategoria) ? : 'AND kategoria = '.$this->_kategoria.'' : '') (isset($this->_autor) ? : 'AND autor = '.$this->_autor.'' : '')." ORDER BY id ".$this->_sort.";";
  4.  
  5. ?>



3. Co do Twojego pytania:
robisz sobie np:
  1. <?php
  2.  
  3. $=0;
  4. while ($row = mysql_fetch_array($wykonaj)){
  5.  $wyniki[$i][id]=$row['id'];
  6.  $wyniki[$i][tytul]=$row['tytul'];
  7.  .
  8.  .
  9.  .
  10.  $i++;
  11. }
  12. return $wyniki;
  13.  
  14. ?>

co do 1. i 2. to sie zgadzam ;] przesadzilem winksmiley.jpg
A co do odpowiedzi to dzieki ;] teraz juz bede wiedzial jak to robic winksmiley.jpg pozdrawiam
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.