Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Zmienne powstające warunkowo
Jaq
post 7.02.2009, 10:51:28
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 17.11.2006

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


Witam.
Borykam się z problemem powstających zmiennych względem wyboru użytkownika.
Generalnie mają lub nie powstać 3 zmienne:
- id_konkurencji,
- id_uslugi,
- miasto.
Użytkownik ma prawo wybrać dane kryterium lub nie poprzez odznaczenie danego okna:
  1. <input type="checkbox" name="nazwa" value="wartosc" onclick="this.form.elements['miasto'].disabled = !this.checked" />
  2. <SELECT NAME="miasto" class="input" disabled="disabled">

Zapytanie napisałem(jest ono mocno skomplikowane) i w MySql działa jeżeli podam konkretne wyniki dla danych zmiennych.
Problem rodzi się w momencie kiedy user nie wybierze danego kryterium, a zmienna się nie pojawi.

Jak dostosować zapytanie?
Help.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kefirek
post 7.02.2009, 10:54:44
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Nie wiem czy o to chodzi
  1. <?php
  2. if(isset($_POST['nazwa'])) {
  3.  
  4. // zmiena istnieje
  5. } else {
  6. // zmiena nie istnieje
  7. }
  8. ?>


Ten post edytował kefirek 7.02.2009, 10:55:02
Go to the top of the page
+Quote Post
ViX
post 7.02.2009, 10:59:13
Post #3





Grupa: Zarejestrowani
Postów: 114
Pomógł: 9
Dołączył: 19.11.2007
Skąd: Kraków

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


jeśli chodzi o zapytanie to możesz je sknstruować ta:
  1. <?php
  2. $query = 'select cos from tabela where ';
  3. if(isset($_POST['nazwa'])){
  4. $query .= 'nazwa='.$nazwa;
  5. }
  6. ?>


Przynajmniej chyba o to Ci chodziło z tego co zrozumiałem


--------------------
Poszukujący wiedzy
Go to the top of the page
+Quote Post
Jaq
post 7.02.2009, 11:13:35
Post #4





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 17.11.2006

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


Jest to rozwiązanie, jednakże ile mamy kombinacji do jednego zapytania?
7 kombinacji występowania zmiennych

1 a b c
2 a b
3 a c
4 a
5 b
6 c
7 albo nic

6 zapytań do bazy, macie jakieś lepsze rozwiązanie?
Go to the top of the page
+Quote Post
dr_bonzo
post 7.02.2009, 11:56:27
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Eh?
A jak wplywa obecnosc zmiennej na zapytanie, bo z tego co widze to masz 3 zmienne, 3 IFy i juz.
  1. <?php
  2. $wheres = array()
  3. if ( $a )
  4. {
  5.   $wheres[] = "aaa = " . $a;
  6. }
  7.  
  8. if ( $b )
  9. {
  10.   $wheres[] = "bbb = " . $b;
  11. }
  12.  
  13.  
  14. $sql = "SELECT .... WHERE " . join( " AND ", $wheres );
  15. ?>

i masz gotowe (do dopracowania szczegolow oczywiscie, brak zadnej zmiennej, eskejpowanie itp).


--------------------
Nie lubię jednorożców.
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: 31.07.2025 - 07:57