Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wyszukiwarka
dave666
post
Post #1





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


witam moze ktos zerknąć czemu ona nie dziala poprawnie wyświetala noramlnie wynniki z bazy ale jak dodam zeby wyświetlala kawałek textu to pokazuje tylko jeden wynnik z bazy a reszty juz nie
  1. <?
  2. $_POST['phrase']=trim($_POST['phrase']);
  3. if(empty($_POST['phrase']))
  4. print('<div id="caption1">Formularz wypełniony niepoprawnie! Nie można wyświetlić wyników wyszukiwania!</div>');
  5. else
  6. {
  7. $base=mysql_connect('localhost','xxx','xxxx','xxx');
  8.  mysql_select_db("xxxx",$base);
  9. $query="Select id, page_key, page_title, page_text, menu_link From MinCMS_static_pages Where page_text Like '%{$_POST['phrase']}%'";
  10. $result=mysql_query($query,$base) or die(mysql_error());
  11. $obAmount=mysql_num_rows($result);
  12. // wyswietlenie ilości wyszukanych obiektów
  13. echo'<div id="caption1">Znaleziono: '.$obAmount.' stron ze słowem: <font color="black">'.$phrase.'</font></div>';
  14. // wyświetlenie wyników w pętli
  15. for($x=0;$x<$obAmount;$x++)
  16. {
  17. // przekształcenie danych na tablicę
  18. $row=mysql_fetch_assoc($result);
  19. // wyświetlenie numeru identyfikacyjnego
  20. echo $x+1;
  21. echo '. ';
  22. // wyświetlenie nazwy produktu
  23.  
  24. //od tego miejsca jest kod ktory skraca text pobieraby z bazy o juz przestaje działas wszystko poprawnie
  25. function short($text, $how)  
  26. {  
  27.     --$how;  
  28.     $max = strlen($text);  
  29.     while ( $text{$how} != ' ' && $text{$how} != '.' && $how < $max)  
  30.     {  
  31.        ++$how;  
  32.     }  
  33.      
  34. return mb_substr($text, 0, $how); //gdy ktoś nie ma można samo substr  
  35. }  
  36. echo "<a href=index.php?page=static_pages&name=$row[page_key]>$row[page_title]</a><br>";
  37. print short($row['page_text'] , 120);
  38. echo"<br /><br>";
  39. }
  40. }
  41. mysql_close($base);
  42.  
  43. ?>


(IMG:http://img.org.pl/thumb/cDfPxvOons6.jpg)

Ten post edytował dave666 15.04.2009, 04:13:41
Go to the top of the page
+Quote Post
shine
post
Post #2





Grupa: Zarejestrowani
Postów: 78
Pomógł: 5
Dołączył: 15.04.2006

Ostrzeżenie: (10%)
X----


Zamiast tego for sprobuj while

  1. <?php
  2. while($row=mysql_fetch_assoc($result))
  3. {
  4.      echo $row['nazwa_pola']; // bedzie wyciagac kolejne pola dopoki wynik zapytania nie dojdzie do konca
  5.  
  6.      // kolejne operacje na $row['nazwa_pola'];
  7. }
  8. ?>


Ten post edytował shine 15.04.2009, 06:17:22
Go to the top of the page
+Quote Post
dave666
post
Post #3





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


próbuję i nic mi nie wychodzi nie wiem czy dobrze wpisuje to słabo znam php a pętle to w jednym miejscu widze for

  1. <?php
  2. // wyświetlenie wyników w pętli
  3. for($x=0;$x<$obAmount;$x++)
  4. {
  5. ?>

tylko tu wiec nie wiem jak to dokładnie wpisać wiec proszę o pomoc


Może nie prawidlowo zrobiłem ale działa

  1. <?
  2. $_POST['phrase']=trim($_POST['phrase']);
  3. if(empty($_POST['phrase']))
  4. print('<div id="caption1">Formularz wypełniony niepoprawnie! Nie można wyświetlić wyników wyszukiwania!</div>');
  5. else
  6. {
  7. $base=mysql_connect('localhost','xxx','xxxx','xxx');
  8.  mysql_select_db("xxxx",$base);
  9. $query="Select id, page_key, page_title, page_text, menu_link From MinCMS_static_pages Where page_text Like '%{$_POST['phrase']}%'";
  10. $result=mysql_query($query,$base) or die(mysql_error());
  11. $obAmount=mysql_num_rows($result);
  12. // wyswietlenie ilości wyszukanych obiektów
  13. echo'<div id="caption1">Znaleziono: '.$obAmount.' stron ze słowem: <font color="black">'.$phrase.'</font></div>';
  14. // wyświetlenie wyników w pętli
  15. {
  16. for($x=0;$x<$obAmount;$x++)
  17. {
  18. // przekształcenie danych na tablicę
  19. $row=mysql_fetch_assoc($result);
  20. // wyświetlenie numeru identyfikacyjnego
  21. echo $x+1;
  22. echo '. ';
  23. // wyświetlenie nazwy produktu
  24. $zmienna = "$row[page_text]";
  25. echo "<a href=index.php?page=static_pages&name=$row[page_key]>$row[page_title]</a><br>";
  26. echo substr ($zmienna, 0, 120) ;
  27. echo"<br /><br>";
  28. }
  29. }
  30. mysql_close($base);
  31. ?>
Go to the top of the page
+Quote Post
DREEMus
post
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


dalej masz pętle FOR ... zmień na WHILE i na pewno będzie działać ...
  1. <?php
  2. while( $row=mysql_fetch_assoc($result) ) {
  3.  // wyświetlenie numeru identyfikacyjnego
  4.  echo $row['id']; //jak masz id w tabeli
  5.  echo '. ';
  6.  // wyświetlenie nazwy produktu
  7.  $zmienna = "$row[page_text]";
  8.  echo '<a href="index.php?page=static_pages&amp;name='.$row['page_key'].'">'.$row['page_title'].'</a><br>';
  9.  echo substr ($zmienna, 0, 120);
  10.  echo '<br /><br>';
  11.  }
  12. ?>


I myśle jak Ci tam zmienną wyświetla (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

  1. <?php
  2. $zmienna = "$row[page_text]"; // gdzie apostrofy (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
  3. ?>


Ten post edytował DREEMus 15.04.2009, 11:39:56
Go to the top of the page
+Quote Post
dave666
post
Post #5





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


zrobiłem tak i działa więc bez sensu zmieniać a jak zmienię tak jak ty dajesz to nic mi nie pokazuje biała strona :
  1. <?
  2. $_POST['phrase']=trim($_POST['phrase']);
  3. if(empty($_POST['phrase']))
  4. print('<div id="caption1">Formularz wypełniony niepoprawnie! Nie można wyświetlić wyników wyszukiwania!</div>');
  5. else
  6. {
  7. $base=mysql_connect('localhost','xxxx','xxxxx','xxxxx');
  8.  mysql_select_db("xxxxx",$base);
  9. $query="Select id, page_key, page_title, page_text, menu_link From MinCMS_static_pages Where page_text Like '%{$_POST['phrase']}%'";
  10. $result=mysql_query($query,$base) or die(mysql_error());
  11. $obAmount=mysql_num_rows($result);
  12. // wyswietlenie ilości wyszukanych obiektów
  13. echo'<div id="caption1">Znaleziono: '.$obAmount.' stron ze słowem: <font color="black">'.$phrase.'</font></div>';
  14. // wyświetlenie wyników w pętli
  15. for($x=0;$x<$obAmount;$x++)
  16. {
  17. // przekształcenie danych na tablicę
  18. $row=mysql_fetch_assoc($result);
  19. // wyświetlenie numeru identyfikacyjnego
  20. echo $x+1;
  21. echo '. ';
  22. // wyświetlenie nazwy produktu
  23. $zmienna = $row[page_text];
  24. echo "<div id='link1'><a href=index.php?page=static_pages&name=$row[page_key]>$row[page_title]</a><br></div>";
  25. //print short($row['page_text'], 120);
  26. echo strip_tags(substr($zmienna, 0, 120)) ;
  27. echo"<br>";
  28. echo"<div id='link'><a href=index.php?page=static_pages&name=$row[page_key]>index.php?page=static_pages&name=$row[page_key]</a><br></div>";
  29. echo"<br />";
  30. }
  31. }
  32. mysql_close($base);
  33. ?>


Ten post edytował dave666 15.04.2009, 12:18:46
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
zrobiłem tak i działa więc bez sensu zmieniać

Jest z sensem, bo przy while" title="Zobacz w manualu PHP" target="_manual nie musisz pobierać liczby wyciągniętych rekordów.

Cytat
a jak zmienię tak jak ty dajesz to nic mi nie pokazuje biała strona :

Musisz mieć gdzieś błąd w składni. Sprawdź to.
Go to the top of the page
+Quote Post
dave666
post
Post #7





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


niby poprawny ale jakoś dziwnie po pokazuje mi teraz wynniki tak jak wtedy 1 2 3 4 5 to teraz pokazuje 12 40 1 14 itd...
  1. <?php
  2. $_POST['phrase']=trim($_POST['phrase']);
  3. if(empty($_POST['phrase']))
  4. print('Formularz wypełniony niepoprawnie! Nie można wyświetlić wyników wyszukiwania!');
  5. else
  6. {
  7. $base=mysql_connect('localhost','baza','hasło','user');
  8.  mysql_select_db(&#092;"baza\",$base);
  9. $query=&#092;"Select id, page_key, page_title, page_text, menu_link From MinCMS_static_pages Where page_text Like '%{$_POST['phrase']}%'\";
  10. $result=mysql_query($query,$base) or die(mysql_error());
  11. $obAmount=mysql_num_rows($result);
  12. // wyswietlenie ilości wyszukanych obiektów
  13. echo'Znaleziono: '.$obAmount.' stron ze słowem: '.$phrase.'';
  14. // wyświetlenie wyników w pętli
  15. while( $row=mysql_fetch_assoc($result) ) {
  16. // wyświetlenie numeru identyfikacyjnego
  17. echo $row['id']; //jak masz id w tabeli
  18. echo '. ';
  19. // wyświetlenie nazwy produktu
  20. $zmienna = &#092;"$row[page_text]\";
  21. &#092;";
  22. //print short($row['page_text'], 120);
  23. echo strip_tags(substr($zmienna, 0, 120)) ;
  24. echo&#092;"
  25. &#092;";
  26. &#092;";
  27. echo&#092;"\";
  28. echo '
  29.  
  30. ';
  31. }
  32. }
  33. mysql_close($base);
  34. ?>


Moze głupie pytanie ale tak z ciekawości jest taka mozliwość aby zrobić by pokazywało dane słowo w ktorkim opisie takj jak teraz tylko teraz pokazuje początek textu zawartego na całej stronie a mi chodzi zeby od tego słowa szlo te 120 znaków

Ten post edytował dave666 16.04.2009, 01:26:17
Go to the top of the page
+Quote Post
DREEMus
post
Post #8





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


  1. <?php
  2. echo strip_tags ( substr ( $zmienna['page_text'], 0, 120 ) );
  3. ?>
Go to the top of the page
+Quote Post
dave666
post
Post #9





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


nie wyświetla zadnej treści
Go to the top of the page
+Quote Post
DREEMus
post
Post #10





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


a masz tam coś wpisane (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ;>

tzn. zmienna coś zawiera (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
daj tak ...
  1. <?php
  2. print_r ($zmienna)
  3. ?>

Podaj co Ona w sobie ma (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

teraz tak patrze ... i nadal myślę, jak Ci to w ogóle działa ...
  1. <?php
  2. $zmienna = "$row[page_text]"; // Co to jest (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
  3. // Nawiastem mówiąc NIC DZIWNEGO :)
  4. // Poprawnie:
  5. $zmienna = $row['page_text'];
  6. // i teraz ...
  7. echo strip_tags ( substr ( $zmienna, 0, 120 ) );
  8. ?>


Ten post edytował DREEMus 16.04.2009, 01:46:42
Go to the top of the page
+Quote Post
dave666
post
Post #11





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


(IMG:http://www4.speedyshare.com/data/241939114/16287327/14930771/1/444444.jpg)

Ten post edytował dave666 16.04.2009, 01:50:26
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 16:38