Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyszukiwanie w bazie
Darek
post 19.12.2003, 16:20:14
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.07.2003

Ostrzeżenie: (0%)
-----


Witajcie !

Mam skrypt który wyszukuje w bazie uzytkowników;
z formularza wysyłam dane do skryptu który ma wyświetlić dane,
mam trzy pola w formularzu php;
1. imie/nazwisko (wysyłam jako $id_u) - menu rozwijane
2. imie ($imie)
3. nazwisko ($nazwisko)

Zapytanie SQL wygląda tak:

[sql:1:14c3170716]SELECT * FROM uzytkownicy WHERE id_u = '$id_u'
AND imie LIKE '$imie%' AND nazwisko LIKE '$nazwisko%'[/sql:1:14c3170716]

Problem polga na tym iż gdy chce wybrac z listy konkretnego usera i wyświetlic jego dane to wszystko jest OK, lecz gdy nie wybiore żadnego to chcialbym aby wyswietlili się wszyscy użytkownicy (przy zalożeniu ze pola imie i nazwisko są puste).
Generalnie problem polega na tym iż nie wiem jak skonstruować zapytanie (a moze inny rodzaj przeszukiwania wg. innych kryterii) tab aby moc wybierać jedną osobe, z listy, ew. z listy nic nie wybrać a wpisać wartości do pól IMIE lub NAZWISKO i przypadek skrajny gdzy nic nie wybierzemy i wtedy wyświetli się cała zawartość.
Go to the top of the page
+Quote Post
spenalzo
post 19.12.2003, 16:23:30
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Przeniesione na bazy danych.


--------------------

Go to the top of the page
+Quote Post
Foxx
post 20.12.2003, 11:58:32
Post #3





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Nie wiem czy dobrze Cię zrozumiałem, ale:
jeżeli chodzi o wybieranie wszystkich jeżeli nikt nie został wybrany - to możesz uzyć warunku na przykład:
[php:1:34224f5604]<?php
if($_POST['id_u'] == "" && $_POST['imie'] =="" && $_POST['nazwisko']==""){
$zapytanie="SELECT * FROM uzytkownicy";
}
else
{
$zapytanie = //zapytanie takie jak podałeś
}
?>[/php:1:34224f5604]
I nie moge do końca zrozumieć co masz na myśli mówiąc że chcesz
Cytat
aby moc wybierać jedną osobe, z listy, ew. z listy nic nie wybrać a wpisać wartości do pól IMIE lub NAZWISKO

jedną osobę to znaczy wpisujesz do formularza np. nazwisko "kowal" i chcesz żeby znalazło tylko "kowala" a nie "kowalskiego" itp?
Jeżeli tak to proponowałbym dać do formularza jeszcze pole checkbox opisane "dokładne wyszukiwanie" i jeżeli by nie było zaznaczone, można by używać twojego zapytania a jeżeli byłoby, to :
[sql:1:34224f5604]
SELECT * FROM uzytkownicy WHERE imie='".$_POST['imie']."' AND nazwisko='".$_POST['nazwisko']."'";
[/sql:1:34224f5604]

P.S. Zmienne w zapytaniu sql umieszcza się między '". TU ."'. tak jak napisałem
A jeżeli dane są z forularza to używaj tablic POST [lub GET w zalezności od metody] czyli:
[php:1:34224f5604]<?
$_POST['imie']
//lub
$_GET['imie']
?>[/php:1:34224f5604]
Go to the top of the page
+Quote Post
Użytkownik
post 20.12.2003, 12:48:30
Post #4





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 6.12.2003

Ostrzeżenie: (0%)
-----


Czy jest możliwe:
[sql:1:e49f460c0c]
SELECT * FROM text WHERE text=*'ma'*
[/sql:1:e49f460c0c]
Co zwraca wszystkie wiersze, gdzie w w polu text jest text *ma*?
Go to the top of the page
+Quote Post
spenalzo
post 20.12.2003, 14:25:53
Post #5





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
Co zwraca wszystkie wiersze, gdzie w w polu text jest text *ma*?

[sql:1:9c5ed7587e]SELECT * FROM text WHERE text LIKE '%ma%'[/sql:1:9c5ed7587e]


--------------------

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.06.2025 - 20:12