Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyszukiwaniem danych z bazy.
Forum PHP.pl > Forum > Bazy danych
tiramizu
Mam takie pytanie, mam bazę „ksiazki” potrzebuje zrobić wyszukiwanie z tej bazy.
Po numerku indenu lub po imie i nazwisko pisarza. Tylko ze pracować to musi w taki sposób:
Np. znam tylko nr indexu wpisuje i mam dane o książce, bądź wpisuję pisarza i mam tez dane o książce. (tylko że działać to ma w ten sposób że przy wpisaniu pisarza, dane będą wyświetlone według celności trafień, czyli jak wpisze np. Adam Mickiewicz to pierwsza pozycja będą wyświetlone książki Adama Mickiewicza, ponieważ jest trafne imie i nazwisko. Następne pozycję to będą książki innych Mickiwiczy a potem innych Adamów. Chodzi mi o to ze on będzie sobie robił priorytet najpierw dane jeśli jest trafne imie i nazwisko potem dane po nazwisku i na końcu dane trafne po imieniu. Przepraszam jeśli nie jasno wyjaśniłem.
Na razie napisałem sobie aby szukał dokładnie imię i nazwisko.
  1. <?php
  2.  
  3. $kontrola=0;
  4. include("connect.php");
  5. if (!empty($_POST[a]))
  6. {
  7. $sql="select * from ksiazki where nr_ind = "$_POST[a]"" ;
  8. }
  9. else
  10. {
  11. $sql="select * from ksiazki where imie = "$_POST[b]" and nazwisko = "$_POST[c]"" ;
  12. } 
  13.  
  14. ?>


poprawiam
---
nospor


Dziękuję za pomoc.
SongoQ
To co chesz zrobic tak latwo juz nie zrealizujesz, sa bazki ktore to jednym selectem zalatwiaja, z tego co wiem MySQL nie ma takiej mozliwosci. Musisz to rozblic na indeksowanie wyrazow. Pare tygodni temu taki post byl na tym forum, jak dobrze poszukasz znajdziesz. Zostaly tam poruszone sprawy ktore napewno Cie zainteresuja.
JOHNY
a nie lepiej zrobić coś takiego

  1. <?php
  2.  
  3. if(isset($a) && $a<>"") {
  4.  
  5. $query = "SELECT * FROM ksiazki WHERE nr_id LIKE '%$a%' OR imie LIKE '%$a%' OR nazwisko LIKE '%$a%' ORDER BY id DESC";
  6. // ect
  7.  
  8. }
  9.  
  10. ?>


Przeszuka Ci wszystko tylko napisać odpowienie ORDER BY i będzie biggrin.gif
SongoQ
LIKE + OR jest bardzo nie efektywne, dla wielu kryteriow i bardzo duzej ilosci rekordow czas bedzie zauwazalny.
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.