Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]wyszukiwarka
Forum PHP.pl > Forum > Przedszkole
dave666
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. ?>


shine
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. ?>
dave666
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. ?>
DREEMus
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 smile.gif

  1. <?php
  2. $zmienna = "$row[page_text]"; // gdzie apostrofy questionmark.gif
  3. ?>
dave666
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. ?>
erix
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.
dave666
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
DREEMus
  1. <?php
  2. echo strip_tags ( substr ( $zmienna['page_text'], 0, 120 ) );
  3. ?>
dave666
nie wyświetla zadnej treści
DREEMus
a masz tam coś wpisane questionmark.gif ;>

tzn. zmienna coś zawiera questionmark.gif
daj tak ...
  1. <?php
  2. print_r ($zmienna)
  3. ?>

Podaj co Ona w sobie ma 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 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. ?>
dave666
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.