Witam!
Nie mogę sobie poradzić z pewnym problemem. Mianowicie mam na stronie zrobioną wyszukiwarkę, która po podaniu hasła wyszukiwania w formularzu przeszukuje bazę danych mysql i zwraca wyniki w formie tabeli.
Wszystko działa fajnie tylko chciałbym dodać kod usuwający znaki specjalne z pola formularza /nr_pomocnicze/ np. po wprowadzeniu w formularzu numeru 172.22.33 kod miałby usunąć kropki i inne znaki i zwrócić sam numer 1722233 a następnie ten “okrojony” numer ma być przesłany do bazy danych w celu jego wyszukania.
Dodam, że wyszukiwarkę mam napisaną w PHP obiektowo i używam wyszukiwania pełnotekstowego.
Mam już następujący kod, który usuwa znaki z ciągu:
$numer = $_POST['nr_pomocnicze'];
$numer = preg_replace('/[\W_]/', '', $numer);
tylko problem w tym, że nie potrafię go zaimplementować w swojej wyszukiwarce. Poniżej przedstawiam kod wyszukiwarki razem z formularzem:
| Szukaj na podstawie: | Numer części Nazwa części |
| Szukane hasło: | |
| | |
<?php if (isset($_POST[‘haslo’])) { if ($_POST[‘podstawaszukania’] == “nr_pomocnicze”) { $stmt = @$mysqli->prepare(“SELECT * FROM czesci WHERE MATCH(nr_pomocnicze) AGAINST(?)”); } elseif($_POST[‘podstawaszukania’] == “nazwa”) { $stmt = @$mysqli->prepare(“SELECT * FROM czesci WHERE MATCH(nazwa) AGAINST(?)”); } if ($stmt === false){ echo ’
Zapytanie nie zostało wykonane poprawnie!’; } else { $stmt->bind_param(‘s’, $_POST[‘haslo’]); if(empty($_POST[‘haslo’])) { echo "
Nie podano hasła do wyszukania!"; } else { $stmt->execute(); $stmt->store_result(); if ($stmt->num_rows > 0) { $stmt->bind_result($lp, $zdjecie, $numery, $nazwa, $opis, $grupa, $zastosowanie); echo ’
LP. | ZDJĘCIE | NUMERY PORÓWNAWCZE | NAZWA | OPIS |
---|---|---|---|---|
Grupa: %s | Zastosowanie: %s | |||
%s | %s | %s | %s | %s |
';} else { echo "
Nie znaleziono żadnych rekordów."; } } } } ?>
Byłbym bardzo wdzięczny jeśli ktoś pomógłby mi zaimplementować ten kod w wyszukiwarce
Pozdrawiam i z góry dziękuję!