user767
19.09.2010, 17:11:21
<form method="post" action="wyszukiwarka.php"> <br />Zapach:
<br /><input name="Znajdz" type="text" size="45" maxlength="40" /><br /> <input type="submit" name="wyslij" value="Wyślij ?" class="button" />
<?php
$znajdz = $_POST['znajdz'];
mysql_connect(localhost
, root
, krasnal
) or
die("Błąd w połączeniu z serwerem!");
$zapytanie = "SELECT * FROM zapachy WHERE opis LIKE '%$znajdz%' ";
{
<td>".$wiersz['id']."</td>
<td>".$wiersz['nazwa']."</td>
<td>".$wiersz['opis']."</td>
<td>".$wiersz['cena']."</td>
<td>".$wiersz['rodzaj']."</td>
</tr>";
}
?>
user767
19.09.2010, 19:04:08
Chodzi mi o to, żeby szukało w taki sposób, żeby wyszukiwało nazwy podobne, tzn. jak ktoś wpisze cytryna, żeby odnalazło cytryny, cytrynie.
Dapi
19.09.2010, 19:29:21
Na mój gust, to nie będzie takie proste.
Ja bym zrobił sprawdzanie ile wpisano znaków, i jeśli jest więcej niż dajmy na to 6, to wycinanie ostatnich 3 i szukanie tego co zostanie.
W ten sposób po wpisaniu cytryna wyszuka ci rekordy zawierające "cytr" czyli cytryna, cytrynie, cytrynowy, cytrynek, itd.
Klycior
19.09.2010, 20:46:11
Co do rozwiązania od Dapi, wydaje mi się najlepsze.
A ponadto jest prosta funkcja która to spełni: substr().
Proszę nawet ładnie do wzoru dałem:
$rest = substr("Ładny przykład ucinania 3 liter ostatnich", 0
, -3
); // Ładny przykład ucinania 3 liter ostatn
user767
19.09.2010, 21:15:44
Jak to zapisać przy przechwytywaniu zmiennej
$znajdz = $_POST['Znajdz'];
?
Klycior
19.09.2010, 21:49:46
Teraz jeszcze przypomniało mi się że to nie takie proste bo co będzie gdy ktoś będzie chciał wyszukać słowa auto ?
To zostanie literka a.
A co do posta wyżej to powinno zadziałać, bo chyba o to Ci chodzi;
$znajdz = $_POST['Znajdz'];
$rest = substr($znajdz, 0
, -3
); // tniemy 3 ostatnie literki echo $rest; // no i wyswietlamy to co nam wyszło
user767
19.09.2010, 21:54:21
A gdyby dać if na policzenie słów?
Dapi
20.09.2010, 15:53:01
Cytat
Ja bym zrobił sprawdzanie ile wpisano znaków, i jeśli jest więcej niż dajmy na to 6, to wycinanie ostatnich 3 i szukanie tego co zostanie.
O tym właśnie pisałem