Problem z wyszukiwarką w php

Problem z wyszukiwarką w php
HA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 227
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:

Kopiuj
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

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

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

HA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 227
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.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Może zamiast:

Kopiuj
... and opis LIKE ...

zrób

Kopiuj
... 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']."%'
HA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 227
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.