Problem z wyszukiwarką w php

0

Witam, mam problem z napisaniem wyszukiwarki. Znaczy mam napisaną ale gdy uruchamiam, to wyskakują mi wszystkie hasła. Poza tym mam błędy.

O to kod:

include('dbconn.php');
if(isset($_POST['submit'])){
$wyraz = $_POST['wyraz'];
}

** if($result = $mysqli->query("SELECT temat, opis  FROM searchapp WHERE temat LIKE '%{$_POST['wyraz']}%'  and opis LIKE '%{$_POST['wyraz']}%' "))**
    {
	   if($result->num_rows >0) 
	     {
		 while($row = $result->fetch_object())
             {
               echo "<div> ".$row->temat." </div>";
	       echo "<div> ".$row->opis."</div> ";
             }
    }
            
 }
$mysqli->close();

A błędy to:
2 linie kodu na czerwono wskazują na jedną linię z komunikatem:

Notice: Undefined index: wyraz in C:\Program Files\VertrigoServ\www\testweb\Wyszukiwarka\index.php on line 31

Linia 31 to co w kodzie pogrubione.

Co napisałem źle?

dodanie znacznika <quote> dla treści błedu + usunięcie pustych linii z końca kodu- fp

0

Przecież błąd jest dość jasny. W tablicy $_POST nie ma pola 'wyraz'.

0

Dobra, ten kod dałem w if(empty($wyraz)){ } else i ten kod co dałem od zapytania pogrubionego do klamry przed mysqli->close() i błędu nie ma.
Ale nie wszystko mi wyszukuje. Mam w bazie w kolumnie temat słowo Informatyka i jak wypisuje to nie podaje. Gdy wpiszę kancelaria to wypisuje. Gdy wpiszę kancelaria, olej bo mam takie w bazie, to mam zerowy wynik.

0

Może zamiast:

... and opis LIKE ...

zrób

... or opis LIKE ...
  • na sam początek w ogóle z LIKE '%{$_POST['wyraz']}%' wywal to odwołanie do tablicy poza sam ciąg, czyli zrób LIKE '%".$_POST['wyraz']."%'
0

pomogło dzięki, ale mam jeszcze pytanie, gdy mam w temacie slayer, kancelaria i pisze w polu po przecinku, to zero wyniku jest. jak napisać? czytalem o wyszukiwaniu pełnotekstowym ale nie bardzo mi to pomogło.
Też chciałbym aby po wpisaniu slayer, kancelaria, informatyka bylo wiele rekordów.

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