Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwarka
Forum PHP.pl > Forum > PHP
amxkylu
Dzieńdoberek Wszystkim!
MAm na stronce taką prosta wyszukiwarkę:

  1. <?php
  2. $fraza = explode(&#092;" \",$szukaj);
  3.  for($i=0; $i<count($fraza);$i++){
  4. $like_str .= &#092;"(tytul like '%$fraza[$i]%' or
  5. poddzial like '%$fraza[$i]%' or
  6. pytanie like '%$fraza[$i]%' or
  7. long_pytanie like '%$fraza[$i]%' or
  8. odpowiedz like '%$fraza[$i]%' or
  9. nick like '%$fraza[$i]%' or
  10. miejsce like '%$fraza[$i]%' or
  11. email like '%$fraza[$i]%' or
  12. data like '%$fraza[$i]%')&#092;";
  13.  
  14.  if($i < count($fraza)-1)
  15. $like_str .= &#092;" and \";
  16.  }
  17. ?>


i później z niej kieruję zapytanie do SQL.
Czy wie ktoś może co trzeba by dodać żeby mi nie zwracała uwagi na polskie litery, może jaśniej :
mam w bazie słowo np. "życie" a chciałbym aby również po wpisaniu "zycie" znalazło mi to słowo??
A tak przy okazji - czy jest jakiś sposób, żeby sprawdzić poprawność kodu php?
Stronka działa mi dobrze, a mimo to mam na dolnym pasku komunikat że wystąpiły błędy na stronie?questionmark.gif
Z góry dzięka za każdą podpowiedź. Pozdro!
nospor
robisz like życie i like zycie.

Co do błędów. Patrzysz na błąd, patrzysz w której linii i rozwiązujesz. Możesz też nam pokazać te błędy i kod jak nie wiesz co i jak a może ci pomożemy
amxkylu
Dzięka,
a z wyszukiwarką to nie bardzo rozumiem -
to wszystko dzieje się automatycznie, wpisując w pole input ona rozbija mi frazęi wyszukuje we wszystkich kolumnach tabeli, chodzi mi o jakąś funkcję php owską która będzie zmieniać z nie polskich na polskie, w bazie wpisuję tylko i wyłącznie z polskimi znakami.

A błąd jest nastęPujący: pisze że w danej linii (pogrubiona) :
Treść błędu :
Wiersz 114
znak 1
Błąd: Oczekiwano obiektu
Kod: 0

A mój kod z tą linią to:

if(($porzadkowanie !='') && ($pporzadkowanie!='')) {
$zapytanie="select * from $nazwa_tabeli where dzial='$porzadkowanie_str' and poddzial='$pporzadkowanie_str' and $like_str order by dzial $sortowanie_str $limit_str";
}
elseif(($porzadkowanie !='') && ($pparzodkowanie=='')) {
$zapytanie="select * from $nazwa_tabeli where dzial='$porzadkowanie_str' and $like_str order by dzial $sortowanie_str $limit_str";
}

else
{
$zapytanie="select * from $nazwa_tabeli where $like_str order by dzial $sortowanie_str $limit_str";
}

Bo rozumiem że linię poda mi edytor np. ja używam Crimsona?
kszychu
Masz błąd javascriptu a podajesz kod php, bez jaj! POdejrzyj źródło strony i podaj WYGENEROWANY kod html i js.
nospor
co do zamiany to str_replace:
http://pl.php.net/str_replace

tylko skąd będziesz wiedział że akurat "zycie" masz zaminieć na życie? Bo przecież wszystkich "z" na "ż" nie bedziesz zamieniał. "zaraza" => "żaraża"? MusiaŁbyś jakiś słownik mieć co zamieniać. Daruj se, jak ktoś nie wie jak "życie" sie pisze to jego sprawa.
amxkylu
OK!!
Dochapałem się do błędu!
Faktycznie był w JS
A polegał na tym że mam podwójne combo według skryptu:

<!--
var groups=document.double.imie.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()

group[0][0]=new Option("Ala","")

group[1][0]=new Option("Wszystkie","")
group[1][1]=new Option("Ela","")

group[2][0]=new Option("Wszystkie","")
group[2][1]=new Option("Ula","")

var temp=document.double.inne

function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
}
refresh(0); -- do tego refresha się pultał


A problem jest taki że po wybraniu jednegp pola i drugiego i przeładowaniu strony (submit) w drugiej liście mam tylko tą wybieraną wartość a nie wszystkie. Chciałem to jakoś odświerzyć i wstawiłem refresha(), ale nie działa i błędy powoduje!

A z wyszukiwarką to chyba faktycznie dam se spokój!
Dzięka

//-->
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.