Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Wyszukiwarka
Forum PHP.pl > Forum > Przedszkole
laik-php
Było już tyle razy wałkowane na forum, ale nie ma tego czego szukam. Tak samo w Google szukałem, ale tam się powtarza. Potrzebuję zrobić skrypt wyszukiwarki. Ma być taka prosta. Mam tabelę w MySQL o nazwie portfolio a w niej id, klient, czas realizacji, tags. Są tam zapisywane tagi np. bruk, kostka, brukowa, chodnik <-- to takie przykładowe. Potrzebuję zrobić zapytanie jak ma wyglądać takie coś. Zapewne LIKE, albo coś podobnego (lepszego).
Kawałek kodu HTML:

search.php

  1. <form action="/index.php" method="get">
  2. <input type="text" name="search" value="Szukaj ..." onfocus="if (this.value=='Szukaj ...') { this.value=''; }" onblur="if (this.value=='') { this.value='Szukaj ...'; }"/>
  3. <input type="submit" value="" class="search_button">
  4. </form>

I nie wiem jak to zrobić, że po wpisaniu frazy np. zima, znajdzie mi prace z portfolio. Graficznie mniej więcej tak:

Wyniki wyszukiwania:
Firma XYZ
Czas realizacji: 2 tygodnie
Prace: Układanie chodnika

I tak powinno wyglądać parę rekordów, które zawierają te frazy. Nie proszę o gotowca (no chyba, że ktoś ma), ale o rade jak takie coś zrobić worriedsmiley.gif

Z góry dziękuje smile.gif
potreb
Możesz zastosować wyszukiwanie używając LIKE: http://webmade.org/kursy-online/wyszukiwan...-kurs-mysql.php
lub
Wyszukiwanie pełnotekstowe: http://www.php.rk.edu.pl/w/p/pelnotekstowe-wyszukiwanie/

W PhpMyAdmin masz również wyszukiwanie, zobacz sobie jak to wygląda i wtedy będziesz wiedział o co biega.
laik-php
Zrobiłem takie coś:
Kod
if(empty($search)) {
  echo "Wpisz frazę";
  } else {
   $result = mysql_query("SELECT * FROM portfolio WHERE tags LIKE '%$search%'");
     if($result) {
       while($row=mysql_fetch_array($result)) {
        $id       = $row["id"];
        $klient   = $row["klient"];

      echo "<p>Wyniki wyszukiwania: </p>";
      echo "<p>$klient<br/>$id</p>";
    }
  }
}


Ale wyświetla mi napis wpisz frazę. gdy wpisze do formularza (tego powyżej), robi to co powinno czyli: http://www.mojastrona.pl/index.php?search=zima ale nic nie wyświetla tylko ten napis wpisz frazę.


Pomoże ktoś winksmiley.jpg questionmark.gif
nospor
na pczątku:
$search = $_POST['search'];

sorki, $_GET['search'] - uzywasz metody get a nie post
laik-php
Wielkie dzięki. Działa jak trzeba. Muszę wziąć manuala biggrin.gif Plusik dla Ciebie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.