Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Zmienne powstające warunkowo
Forum PHP.pl > Forum > Przedszkole
Jaq
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.
kefirek
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. ?>
ViX
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
Jaq
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?
dr_bonzo
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).
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.