![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 4.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem z wyszukiwarką wg kilku kryteriów, ale od poczatku
mam tabelę Id_zwiazku - int911) Data_aktualizacji - date Nazwa_IUPAC - varchar(100) Nr_CAS varchar - (100) Wzor - text Masa_molowa - decimal(12,6) Synonim_ang - text synonim_pol - text i jeszcze kilka kolumn, ale wg tych które wypisałam ma być wyszukiwanie: formularz index.html jest następujący: <b>Przeszukaj bazę wg: </b><br><br> <form action="search.php" method="post"> <select name="podstawaszukania"> <option value="Nazwa_IUPAC"> Nazwy IUPAC <option value="Nr_CAS">Numeru CAS <option value="Wzor">Wzoru sumarycznego <option value="Synonim_angielski">Synonimu angielskiego </select> Wpisz wyszukiwany produkt: <input type="text" name="phrase" /> <input type="submit" value="Szukaj!" /> </form> a poniżej kod php search.php : <?php // program wyszukiwarki - search.php // wyświetlenie nagłówka echo'<h2>Wyniki wyszukiwania</h2>'; // usunięcie niepotrzebnych białych znaków $_POST['phrase']=trim($_POST['phrase']); // sprawdzenie, czy użytkownik wpisał dane if(empty($_POST['phrase'])) // jeśli nie, to wyświetl komunikat i zakończ działanie skryptu die('Formularz wypełniony niepoprawnie! Nie można wyświetlić wyników wyszukiwania!'); // jeśli jednak dane są wpisane poprawnie else { // połączenie z bazą danych, $base=mysqli_connect('localhost','justynaichp','123456','predict_5'); // skonstruowanie zapytania $query="Select Nazwa_IUPAC From basic_data Where Nazwa_IUPAC Like '%{$_POST['phrase']}%' Or Nr_CAS Like '%{$_POST['phrase']}%' Or Wzor Like '%{$_POST['phrase']}%'"; // wysłanie zapytania do bazy danych $result=mysqli_query($base,$query); // ustalenie ilości wyszukanych obiektów $obAmount=mysqli_num_rows($result); // wyswietlenie ilości wyszukanych obiektów echo'Znaleziono: '.$obAmount.'<br /><br />'; // wyświetlenie wyników w pętli for($x=0;$x<$obAmount;$x++) { // przekształcenie danych na tablicę $row=mysqli_fetch_assoc($result); // wyświetlenie numeru identyfikacyjnego zwiazku echo $x+1; echo '. '; // wyświetlenie nazwy związku echo $row['Nazwa_IUPAC']; echo'<br/>'; } } // zamknięcie połączenia mysqli_close($base); // koniec aplikacji ?> jestem początkująca i nie wiem jak zrobić zeby po wybraniu w liście rozwijalnej np: Nazwy Iupac wpisać np "methanol" i zeby na stronie wyskoczył mi wynik w postaci: Nr_Id Data aktualizacji Nazwa IUPAC Nr Cas Wzór Masa molowa Synonim angielski Synonim polski 12 2006-02-02 Ethane 74-84-0 C2 H6 30.070000 Refrigerant 170, Dimethyl, Methylmethane Etan tzn zeby wypisywał na strone wiersz z tabel i żeby Nazwa IUOAC była linkiem nie działa mi ta wyszukiwarka bo wląsciwie szuka tylko wg tej Nazwy IUPAC, nie wiem jak dopisać zeby wyszukiwał wg nr_CAs (liczba) czy wg Wzoru np C5H6 itd prosze o pomoc |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Tak więc na początek radzę Ci Justyno umieścić kody w odpowiednim Code Box'ie bo inaczej temat zostanie zamknięty.
Następnie zmienną $query przekształcić w poniższy sposób: A na koniec zamiast pętli for używać do wyświetlania wyników pętli while.
Tyle na początek. Ten post edytował sadistic_son 4.10.2010, 15:05:10 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 09:57 |