Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z bledem ....
Forum PHP.pl > Forum > Przedszkole
Balon
  1. <?php
  2.  
  3. class pomysly_szukaj {
  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. /** laczy sie z baza */
  47. function connect(){
  48. mysql_connect ("localhost","**","**") or die ("Nie mozna polaczyc sie z baza MySQl");
  49. mysql_select_db () or die ("Nie mozna polaczyc sie z wybrana baza danych");
  50. }
  51.  
  52. /** przygotowanie do wyswietlenia */
  53. function do_wyszukiwania(){
  54. /* usuwanie zbednych spacji */
  55. $this->_kategoria = trim($this->_kategoria);
  56. $this->_ile = trim($this->_ile);
  57. $this->_sort = trim($this->_sort);
  58. $this->_keyword = trim($this->_keyword);
  59. $this->_autor = trim($this->_autor);
  60. /* usuwanie znacznikow html */
  61. $this->_kategoria = strip_tags($this->_kategoria);
  62. $this->_ile = strip_tags($this->_ile);
  63. $this->_sort = strip_tags($this->_sort);
  64. $this->_keyword = strip_tags($this->_keyword);
  65. $this->_autor = strip_tags($this->_autor);
  66. }
  67.  
  68. /** funkcja wyszukujaca pomysly z okreslonymi parametrami */
  69. function szukaj(){
  70. /* laczenie z baza */
  71. $this->connect();
  72. /* tworzenie zapytania */
  73. $query = "SELECT id, tytul, opis, kategoria, autor 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.";";
  74. $wykonaj = mysql_query($query);
  75. /* wrzucanie danych do tablicy */
  76. while ($row = mysql_fetch_array($wykonaj)){
  77. foreach($row as $element){
  78. $this->_wynik[$i]['id'] = $element['id'];
  79. $this->_wynik[$i]['tytul'] = $element['tytul'];
  80. $this->_wynik[$i]['opis'] = $element['opis'];
  81. $this->_wynik[$i]['kategoria'] = $element['kategoria'];
  82. $this->_wynik[$i]['autor'] = $element['autor'];
  83. $i++;
  84. }
  85. $i++;
  86. }
  87. return $this->_wynik;
  88. }
  89.  
  90. function wyswietl_wyniki(){
  91. /* sprawdzenie czy znaleziono jakies rekordy */
  92. if (count($this->_wynik)> 0){
  93. /* zapisanie tablicy do zmiennej $do_wyswietlenia */
  94. $do_wyswietlenia = $this->_wynik;
  95. echo '<table border="0" align="center">';
  96.  
  97. foreach($do_wyswietlenia as $pokaz){
  98. echo '<tr><td><b>'.$pokaz[$i]['tytul'].'</b><br />'.$pokaz[$i]['kategoria'].' // '.$pokaz[$i]['autor'].'</td><td>'.$pokaz[$i]['opis'].'</td>';
  99. }
  100. } else {
  101. echo '<tr><td><center>Nie znaleziono niczego</center></td></tr>';
  102. }
  103. echo '</table>';
  104. }
  105. }
  106. ?>


Linia 73 generuj blad
Kod
Parse error: parse error, unexpected '(' in /home/soonhost/public_html/balon_portfolio/tmp/klasy/search_class.php on line 73

Ale dlaczego ? ja tam nie widze bledu ;/ Prosze o pomoc w rozwiazaniu mojego problemu winksmiley.jpg
mike
  1. <?php
  2.  
  3. //...
  4. $query = "SELECT id, tytul, opis, kategoria, autor 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.";";
  5. //...
  6.  
  7. ?>

:?:
Balon
Ok pomoglo. Teraz jednak sprobowalem uruchomic skrypt. Jednak efekt wykonania tej klasy jest nieprawidlowy :/

  1. <?php
  2.  
  3. class szukaj {
  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. /** laczy sie z baza */
  47. function connect(){
  48. mysql_connect ("localhost","xxx","xxx") or die ("Nie mozna polaczyc sie z baza MySQl");
  49. mysql_select_db (soonhost_test) or die ("Nie mozna polaczyc sie z wybrana baza danych");
  50. }
  51.  
  52. /** przygotowanie do wyswietlenia */
  53. function do_wyszukiwania(){
  54. /* usuwanie zbednych spacji */
  55. $this->_kategoria = trim($this->_kategoria);
  56. $this->_ile = trim($this->_ile);
  57. $this->_sort = trim($this->_sort);
  58. $this->_keyword = trim($this->_keyword);
  59. $this->_autor = trim($this->_autor);
  60. /* usuwanie znacznikow html */
  61. $this->_kategoria = strip_tags($this->_kategoria);
  62. $this->_ile = strip_tags($this->_ile);
  63. $this->_sort = strip_tags($this->_sort);
  64. $this->_keyword = strip_tags($this->_keyword);
  65. $this->_autor = strip_tags($this->_autor);
  66. }
  67.  
  68. /** funkcja wyszukujaca pomysly z okreslonymi parametrami */
  69. function szukaj(){
  70. /* laczenie z baza */
  71. $this->connect();
  72. /* tworzenie zapytania */
  73. $query = "SELECT id, tytul, opis, kategoria, autor 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.";";
  74. $wykonaj = mysql_query($query);
  75. /* wrzucanie danych do tablicy */
  76. while ($row = mysql_fetch_array($wykonaj)){
  77. foreach($row as $element){
  78. $this->_wynik[$i]['id'] = $element['id'];
  79. $this->_wynik[$i]['tytul'] = $element['tytul'];
  80. $this->_wynik[$i]['opis'] = $element['opis'];
  81. $this->_wynik[$i]['kategoria'] = $element['kategoria'];
  82. $this->_wynik[$i]['autor'] = $element['autor'];
  83. $i++;
  84. }
  85. $i++;
  86. }
  87. return $this->_wynik;
  88. }
  89.  
  90. function wyswietl_wyniki(){
  91. /* sprawdzenie czy znaleziono jakies rekordy */
  92. if (count($this->_wynik)> 0){
  93. /* zapisanie tablicy do zmiennej $do_wyswietlenia */
  94. $do_wyswietlenia = $this->_wynik;
  95. echo '<table border="0" align="center">';
  96.  
  97. foreach($do_wyswietlenia as $pokaz){
  98. echo '<tr><td><b>'.$pokaz[$i]['tytul'].'</b><br />'.$pokaz[$i]['kategoria'].' // '.$pokaz[$i]['autor'].'</td><td>'.$pokaz[$i]['opis'].'</td>';
  99. /* zwiekszenie licznika */
  100. $i++;
  101. }
  102. } else {
  103. echo '<tr><td><center>Nie znaleziono niczego</center></td></tr>';
  104. }
  105. echo '</table>';
  106. }
  107. }
  108. ?>


Napisalem taki skrypt klasy .... jednak nie działa on ....

Efekt działania tego skryptu mozna zobaczyc tutaj
http://www.scx.pl/balon_portfolio/tmp/klasy/szukaj.php

Zawartosc tabeli to dwa rekordy

Kod
tytul  + tresc                                                 + kat   + autor
tytul  | wlazl kotek na plotek i mruga, balon lubi php i pr... | swiat | Balon
tyt2ul | wlazl kotek na plotek i mruga, balon lubi php i pr... | swiat | Balon


Moj maly mozg nie potrafi pojac dlaczego generuje to taka ilosc slashy i blad

Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/soonhost/public_html/balon_portfolio/tmp/klasy/search_class.php on line 76


Nie wiem co zrobic prosze o pomoc .
crash
  1. <?php
  2. $wykonaj = mysql_query( $query ) or die( mysql_error() );
  3. ?>
Balon
  1. <?php
  2.  
  3. class szukaj {
  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. /** laczy sie z baza */
  47. function connect(){
  48. mysql_connect ("localhost","xxxx","xxxx") or die ("Nie mozna polaczyc sie z baza MySQl");
  49. mysql_select_db ("soonhost_test") or die ("Nie mozna polaczyc sie z wybrana baza danych");
  50. }
  51.  
  52. /** przygotowanie do wyswietlenia */
  53. function do_wyszukiwania(){
  54. /* usuwanie zbednych spacji */
  55. $this->_kategoria = trim($this->_kategoria);
  56. $this->_ile = trim($this->_ile);
  57. $this->_sort = trim($this->_sort);
  58. $this->_keyword = trim($this->_keyword);
  59. $this->_autor = trim($this->_autor);
  60. /* usuwanie znacznikow html */
  61. $this->_kategoria = strip_tags($this->_kategoria);
  62. $this->_ile = strip_tags($this->_ile);
  63. $this->_sort = strip_tags($this->_sort);
  64. $this->_keyword = strip_tags($this->_keyword);
  65. $this->_autor = strip_tags($this->_autor);
  66. }
  67.  
  68. /** funkcja wyszukujaca pomysly z okreslonymi parametrami */
  69. function szukaj(){
  70. /* laczenie z baza */
  71. $this->connect();
  72. /* tworzenie zapytania */
  73. $query = "SELECT id, tytul, opis, kategoria, autor FROM `pomysly` WHERE opis LIKE '%".$this->_keyword."%' ".(($this->_kategoria !== '') ? 'AND kategoria = '.$this->_kategoria.'' : '') . (($this->_autor !== '') ? 'AND autor = '.$this->_autor.'' : '') . $this->_sort.";";
  74. $wykonaj = mysql_query( $query ) or die( mysql_error() );
  75. /* wrzucanie danych do tablicy */
  76. while ($row = mysql_fetch_array($wykonaj)){
  77. foreach($row as $element){
  78. $this->_wynik[$i]['id'] = $element['id'];
  79. $this->_wynik[$i]['tytul'] = $element['tytul'];
  80. $this->_wynik[$i]['opis'] = $element['opis'];
  81. $this->_wynik[$i]['kategoria'] = $element['kategoria'];
  82. $this->_wynik[$i]['autor'] = $element['autor'];
  83. $i++;
  84. }
  85. $i++;
  86. }
  87. return $this->_wynik;
  88. }
  89.  
  90. function wyswietl_wyniki(){
  91. /* sprawdzenie czy znaleziono jakies rekordy */
  92. if (count($this->_wynik)> 0){
  93. /* zapisanie tablicy do zmiennej $do_wyswietlenia */
  94. $do_wyswietlenia = $this->_wynik;
  95. echo '<table border="0" align="center">';
  96.  
  97. foreach($do_wyswietlenia as $pokaz){
  98. /* wyswietlenie wiersza z danymi */
  99. echo '<tr><td><b>'.$pokaz[$i]['tytul'].'</b><br />'.$pokaz[$i]['kategoria'].' // '.$pokaz[$i]['autor'].'</td><td>'.$pokaz[$i]['opis'].'</td>';
  100. /* zwiekszenie licznika */
  101. $i++;
  102. }
  103. } else {
  104. echo '<tr><td><center>Nie znaleziono niczego</center></td></tr>';
  105. }
  106. echo '</table>';
  107. }
  108. }
  109. ?>


Poprawilem troche ten kod... miedzy innymi poprawilem moment w ktorym sprawdzalem za pomoca isset czy zmienna istnieje ale przeciez zmienna istniala tyle ze nie miala wartosci ... i zmienilem to na inna forme - chyba dobrze ... ale teraz nadal jest blad

[quoteYou have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND autor = desc' at line 1[/quote]
mike
Człowieku, chyba ~nospor kazał Ci się opanować.
Po kiego dajesz w każdym poście tyle śmiecia?
Nie możesz skupić się na wycinku kodu, w którym są błędy. Komu chce się to czytać?

A co do błędu:
Źle formułujesz zapytaie SQL.
Zacznij od podstaw: SELECT Syntax. Źle stosujesz ORDER BY, a dokładniej nie masz go.
crash
Czy mógłbyś z łaski swojej przestać wklejać całą zawartość tej klasy i ograniczyć się tylko do części z błędem.

Zobacz sobie jak wygląda to zapytanie ( echo $query; ) to się dowiesz co masz tam źle.
Balon
Cytat
Człowieku, chyba ~nospor kazał Ci się opanować.
Po kiego dajesz w każdym poście tyle śmiecia?
Nie możesz skupić się na wycinku kodu, w którym są błędy. Komu chce się to czytać?

A co do błędu:
Źle formułujesz zapytaie SQL.
Zacznij od podstaw: SELECT Syntax. Źle stosujesz ORDER BY, a dokładniej nie masz go.


Cytat
  Czy mógłbyś z łaski swojej przestać wklejać całą zawartość tej klasy i ograniczyć się tylko do części z błędem.

Zobacz sobie jak wygląda to zapytanie ( echo $query; ) to się dowiesz co masz tam źle.


Ok sorry chlopaki ze jestem taki glupi i wszedzie pisze o tej kalsie ale poprostu zawraca mi to niezle glowe bo chcialbym wkoncu dojsc do czegos z programowanie obiektowego...

Ok to to juz poprawilem z tym zapytaniem teraz jednak podczas wysylania zapytania w wyniku otrzymuje mase slashy (//) ;/

http://www.scx.pl/balon_portfolio/tmp/klasy/szukaj.php

Kod jest taki sam jak u gory czyli (ten dotyczacy wrzucania do tablicy)...

Nie wiem dlaczego jesli wpisze nawet takie keywordy 'saskjajksa' to pobiera tylko slashe... Nie wiem dlaczego ? co robię źle ? dziekuje i pozdrtawiam winksmiley.jpg no i przepraszam...
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.