szukarka slow kluczowych

0

zastanawiam sie jak zrobic szukarke slow kluczowych ktore bylyby wprowadzane do jednego z rekordow bazy danych, czy trzeba zastosowac jakis specialny rodzaj pola w bazie czy tez wprowadzic slowa za pomoca specialnej zmiennej , caly problem polega chyba na tym jak w SQL'u odniesc sie jedynie do czesci rekordu np jesli slowa kluczowe bylyby wprowadzane po przecinku, mysle o zrobieniu tego w jednym rekordzie poniewaz robienie osobnej tablei z kolumnami sl_kluczowe1, sl_kluczowe2, nie wydaje mi sie poprawnym rozwiazaniem...

0

Tworz tablice slow kluczowych, zamien na stringa i wrzuc do bazy danych :

Sa takie fajne funkcje jak explode i implode

uzycie explode :
$tekst = "PHP,C++,DELPHI";
$tablica = explode(',',$tekst);
foreach ($tablica as $element) print "$element";

uzycie implode :
$tablica = array('PHP','C++','DELPHI');
$tekst = implode(',',$tablica);
print $tekst;

0

Tworz tablice slow kluczowych, zamien na stringa i wrzuc do bazy danych :

Sa takie fajne funkcje jak explode i implode

uzycie explode :
$tekst = "PHP,C++,DELPHI";
$tablica = explode(',',$tekst);
foreach ($tablica as $element) print "$element";

uzycie implode :
$tablica = array('PHP','C++','DELPHI');
$tekst = implode(',',$tablica);
print $tekst;

czy moge prosic o wiecej informacji troche przystepniej, ja naprawde dopiero zaczynam, czy to pozwoli mi wyszukac rekord jesli ktos wpisze tylko jedno ze slow kluczowych? pozdrawiam

0

Tworz tablice slow kluczowych, zamien na stringa i wrzuc do bazy danych :

Sa takie fajne funkcje jak explode i implode

uzycie explode :
$tekst = "PHP,C++,DELPHI";
$tablica = explode(',',$tekst);
foreach ($tablica as $element) print "$element";

uzycie implode :
$tablica = array('PHP','C++','DELPHI');
$tekst = implode(',',$tablica);
print $tekst;

czy moge prosic o wiecej informacji troche przystepniej, ja naprawde dopiero zaczynam, czy to pozwoli mi wyszukac rekord jesli ktos wpisze tylko jedno ze slow kluczowych? pozdrawiam

To jest tak:
funkcja explode(); dzieli zmienną według poierwszego parametru i przypisuje do tablicy kolejno: $tablica[0] - pierwszy element tabicy (w tym przypadku ("PHP"), $tablica[1] - drugi element tablicy (w tym przypadku ("C++"), $tablica[2] - trzeci element tablicy (w tym przypadku ("DELPHI").
[code]
foreach ($tablica as $element) print "$element";
[/code]
powoduje, to że jeżeli w tablicy ($tablica) znajduje się $element to wypisuje zawartość $element.
Funkjca implode(); działa odwrotnie do funkcji explode(); tzn. z tablicy wprowadza do ciągu znaków (zmienna typu string) kolejno lelemnty talbicy rozdzialąc je (elementy tablicy) znakiem (lub ciągiem znaków), który jest podany jako pierwszy parametr funkcji :)
[code]
$tablica = array('PHP','C++','DELPHI');
[/code]
powoduje utowrzenie tablicy o nazwie $tablica z wprowadzonymi do tej tabeli elementami: $tablica[0] - PHP, $tablica[1] - C++, $tablica[2] - DELPHI.
[code]
$tekst = implode(',',$tablica);
print $tekst;
[/code]
Ten fragment kodu powoduje połączenie tablicy ze zmiennej $tablica w jeden ciąg znaków (zmienna typu string) w zmiennej $tekst, a następnie wyświetlenie go w przeglądarce przy pomocy funkcji print();
Czyli w rezultacie da to taki ciąg znaków (zastosowanie funkcji imlode();):
[code]
$tekst=$tablica[0]+pierwszy_parametr_funkcji_implode+$tablica[1]+pierwszy_parametr_funkcji_implode+$tablica[2];
[/code]
czyli:
[code]
$tekst='PHP,C++,DELPHI';
[/code]
:)
W mysql-u możesz wykorzystać zapytanie: 'LIKE coś_czego_szukasz_w_mysql' do wyszukiwania czegoś w tabeli :)
Jeżeli użyjesz explode(); z przykładu Dchcorp explode czyli:
[code]
$element=$_POST['pole_tekstowe_z_forumalarza']; //przypisujesz do zmiennej $element zawartość pola tekstowego z formularza, do którego przesłałeś do skryptu jego (formularza) zawartość metodą POST
$tekst = "PIERWSZA_RZECZ,DRUGA_RZECZ,TRZECIA_RZECZ"; //każdy elelemnt tego tekstu (zmiennej $tekst) odpowiada każdej rzeczy, którą możesz wyszukać
$tablica = explode(',',$tekst);
foreach ($tablica as $element) print "Znaleziono w tablicy: $element";
[/code]
Ewentualnie możesz zamiast:
[code]
foreach ($tablica as $element) print "Znaleziono w tablicy: $element";
[/code]
zastosować np. taki kod:
[code]
if eregi("$tablica","$element") print "Znaleziono w tablicy: $element";
[/code]
Spowoduje to, że jeżeli nawet w zapytaniu w formularzu będzie:
"coś", a w tablicy będzie "coś2" lub odwortnie czyli:
w tablicy będzie "coś", a w zapytaniu do wyszukiwania: "coś2".
To wtedy wypisze, że znalazł (skrypt php) w tablicy podane zapytanie do wyszukania (przez skrypt php) :)
:)

0

Tworz tablice slow kluczowych, zamien na stringa i wrzuc do bazy danych :

Sa takie fajne funkcje jak explode i implode

uzycie explode :
$tekst = "PHP,C++,DELPHI";
$tablica = explode(',',$tekst);
foreach ($tablica as $element) print "$element";

uzycie implode :
$tablica = array('PHP','C++','DELPHI');
$tekst = implode(',',$tablica);
print $tekst;

czy moge prosic o wiecej informacji troche przystepniej, ja naprawde dopiero zaczynam, czy to pozwoli mi wyszukac rekord jesli ktos wpisze tylko jedno ze slow kluczowych? pozdrawiam

To jest tak:
funkcja explode(); dzieli zmienną według poierwszego parametru i przypisuje do tablicy kolejno: $tablica[0] - pierwszy element tabicy (w tym przypadku ("PHP"), $tablica[1] - drugi element tablicy (w tym przypadku ("C++"), $tablica[2] - trzeci element tablicy (w tym przypadku ("DELPHI").
[code]
foreach ($tablica as $element) print "$element";
[/code]
powoduje, to że jeżeli w tablicy ($tablica) znajduje się $element to wypisuje zawartość $element.
Funkjca implode(); działa odwrotnie do funkcji explode(); tzn. z tablicy wprowadza do ciągu znaków (zmienna typu string) kolejno lelemnty talbicy rozdzialąc je (elementy tablicy) znakiem (lub ciągiem znaków), który jest podany jako pierwszy parametr funkcji :)
[code]
$tablica = array('PHP','C++','DELPHI');
[/code]
powoduje utowrzenie tablicy o nazwie $tablica z wprowadzonymi do tej tabeli elementami: $tablica[0] - PHP, $tablica[1] - C++, $tablica[2] - DELPHI.
[code]
$tekst = implode(',',$tablica);
print $tekst;
[/code]
Ten fragment kodu powoduje połączenie tablicy ze zmiennej $tablica w jeden ciąg znaków (zmienna typu string) w zmiennej $tekst, a następnie wyświetlenie go w przeglądarce przy pomocy funkcji print();
Czyli w rezultacie da to taki ciąg znaków (zastosowanie funkcji imlode();):
[code]
$tekst=$tablica[0]+pierwszy_parametr_funkcji_implode+$tablica[1]+pierwszy_parametr_funkcji_implode+$tablica[2];
[/code]
czyli:
[code]
$tekst='PHP,C++,DELPHI';
[/code]
:)
W mysql-u możesz wykorzystać zapytanie: 'LIKE coś_czego_szukasz_w_mysql' do wyszukiwania czegoś w tabeli :)
Jeżeli użyjesz explode(); z przykładu Dchcorp explode czyli:
[code]
$element=$_POST['pole_tekstowe_z_forumalarza']; //przypisujesz do zmiennej $element zawartość pola tekstowego z formularza, do którego przesłałeś do skryptu jego (formularza) zawartość metodą POST
$tekst = "PIERWSZA_RZECZ,DRUGA_RZECZ,TRZECIA_RZECZ"; //każdy elelemnt tego tekstu (zmiennej $tekst) odpowiada każdej rzeczy, którą możesz wyszukać
$tablica = explode(',',$tekst);
foreach ($tablica as $element) print "Znaleziono w tablicy: $element";
[/code]
Ewentualnie możesz zamiast:
[code]
foreach ($tablica as $element) print "Znaleziono w tablicy: $element";
[/code]
zastosować np. taki kod:
[code]
if eregi("$tablica","$element") print "Znaleziono w tablicy: $element";
[/code]
Spowoduje to, że jeżeli nawet w zapytaniu w formularzu będzie:
"coś", a w tablicy będzie "coś2" lub odwortnie czyli:
w tablicy będzie "coś", a w zapytaniu do wyszukiwania: "coś2".
To wtedy wypisze, że znalazł (skrypt php) w tablicy podane zapytanie do wyszukania (przez skrypt php) :)
:)

Dzieki piekne chlopaki, teraz mysle ze nie bede mial zadnego problemu z moja szukareczka. postulat do moderatorow forum: Jestem tu nowym (l)userem , ale zdarzylem przegladanc chyba wszystkie posty na forum i mysle ze takie odpowiedzi jak mac'a i dchcorp'a powinny byc w jakis sposob premiowane.

0

ekhem a nie prosciej by bylo tak?:

masz tablice np z tekstami o nazwie Teksty_DB

+Tytul+Autor+tresc+

i teraz utworz aby Ci wyswietlalo:

SELECT * FROM Teksty_DB Like Tytul '%$zmienna_z_wyszukiwarki%';

znak % oznacza dowolny ciag znakow a znak _ tylko jeden znak

potem trzeba tylko utworzyc zmienna while

1 użytkowników online, w tym zalogowanych: 0, gości: 1