skanuj0525

skanuj0525



546 PHP i MySQL dla każdego

<tr>

<td>Autor:</td>

<td>

<input size='25' type=‘text' name='autor' value="> </td>

<td>Tytuł:</td>

<input size='25' type='text' name=’tytuł' value="> </td>

<td align='center'>

<input type='submit' value='Szukaj'>

</td>

</tr>

<tr>

<td colspan-'5' align='center'><hr/x/td>

</tr>

</table>

Obowiązuje założenie, że wyszukiwanie danych powinno być jak najbardziej elastyczne. Będzie więc mogło się odbywać tylko ze względu na autora, tylko ze względu na tytuł lub zarówno ze względu na autora, jak i na tytuł. Decyzję o tym podejmie klient, wypełniając, bądź nie, pola autor i tytuł formularza wyszukiwania. Dane z tych pól będą przekazywane w postaci argumentów o nazwach autor i tytuł funkcji search. Klient będzie mógł podawać zarówno pełny tytuł, pełną nazwę autora, jak i dowolne fragmenty tych nazw. Przykładowo poszukując książek, których autorem jest Orson Scott Card, będzie można poszukiwać jedynie frazy ' card', jak również ' orson', ' scott1, czy nawet zupełnie abstrakcyjnej 'on sc'. Przykładowy wynik wyszukiwania został zaprezentowany na rysunku 21.5.

Wymienione zadanie przeprowadza funkcja search, której kod został zaprezentowany na listingu 21.6. Pierwszą czynnością jest nawiązanie połączenia z bazą danych. Gdyby tego połączenia nie udało się nawiązać, funkcja kończy działanie. Jeśli połączenie uda się nawiązać, jest sprawdzane, czy przynajmniej jeden z przekazanych funkcji argumentów ma wartość różną od pustego ciągu znaków. Gdyby oba argumenty zawierały puste ciągi znaków — co oznaczałoby, że klient nie wypełnił żadnego z pól formularza, ale kliknął przycisk Szukaj — funkcja również kończy działanie.

Listing 21.6. Kodfunkcji search_

function search($autor. Stytul)

{

i f(!makeDBConnect i on()){ return false;

}

if($autor — " && Stytul ■—"•){ return false:

}

else if($autor — "){

Swhere = "LOCATEC'Stytul'. 'tytuł') o 0


Wyszukiwarka

Podobne podstrony:
skanuj0200 (4) 212 PHP i MySQL dla każdego <tr> <td>fi oletowy</td> <td> cin
21576 skanuj0527 548 PHP i MySQL dla każdego echo("<td>Tytuł</td>"):
skanuj0363 (3) 378 PHP i MySQL dla każdego <td> <input type-"text” name-"user&quo
14274 skanuj0475 492 PHP i MySQL dla każdegc} echo("<tr><tdxinput type= submif
49970 skanuj0363 (3) 378 PHP i MySQL dla każdego <td> <input type-"text” name-"us
37811 skanuj0394 (2) 410 PHP i MySQL dla każdego 410 PHP i MySQL dla każdego </tr> <tr

więcej podobnych podstron