Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwanie w bazie
Forum PHP.pl > Forum > Bazy danych
Darek
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ść.
spenalzo
Przeniesione na bazy danych.
Foxx
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]
Użytkownik
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*?
spenalzo
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]
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.