Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Algorytm postępowania
Forum PHP.pl > Forum > Przedszkole
Jaq
Zadaję hiper zagadkę, może ktoś z Was pomoże mi dojść do sposobu rozwiązania algorytmu.
Potrzebuję stworzyć zapytanie lub algorytm zapytań do serwera przy następujących założeniach.

1. Użytkownik podaje nazwę firmy - przekazuję zmienną $id_konkurencji,
2. użytkownik exclamation.gif podaje lub nie exclamation.gif rodzaj usługi - przekazuję zmienną $id_usługi,
3. użytkownik exclamation.gif podaje lub nie exclamation.gif miasto - przekazuję zmienną $miasto.

Chcę wyświetlić z kilku tabel następujące wyniki
1. w tabeli A1 - data1

2. w tabeli A2 - nazwa_zamawiajacego
w tabeli A2 - miasto

3. w tabeli A3 - rodzaj_uslugi

4. w tabeli A4 - cena_netto
w tabeli A4 - ryczałt netto

5. w tabeli A5 - nazwa_konkurencji

krotka id_konkurencji występuje w tabeli A5
krotka id_uslugi występuje w tabeli A3
krotka miasto występuje w tabeli A2

Relacje:
A1.id_przetargu=A4.id_przetargu
A1.id_zamawiajacego=A2.id_zamawiajacego
A1.id_uslugi=A3.id_uslugi
A4.id_konkurencji=A5.id_konkurencji

Czy znajdzie się jakiś miły człowiek i pomoże mi skonstruować poprawne zapytanie
uwzględniając, że zmienne $id_uslugi oraz $miasto pojawiają się lub nie?questionmark.gif

Z góry dziękuję za pomoc.
Jaq
Pilsener
1. Select pola.tabele, które chcesz pobrać
2. From tabela, która będzie odniesieniem
3. Inner join tabela, którą chcesz dodać ON relacja, czyli pole z tabeli głównej = pole z tabeli dodanej, joinów tyle, ile dołączasz tabel
4. Where warunki, po których szukasz
Cytat
zmienne $id_uslugi oraz $miasto pojawiają się lub nie
- nie ma to znaczenia, po prostu robisz tablicę kryteriów:
  1. <?php
  2. $kryteria[] = "pole1=$wartosc1";
  3. $kryteria[] = "pole2=$wartosc2";
  4. $kryteria[] = "pole3=$wartosc3";
  5. ?>
- oczywiście tablica ma tylko tyle elementów, ile kryteriów dociera do Ciebie z formularza.

Potem kryteria ładnie zbijasz AND'em:
  1. <?php
  2. $kryteria = join(" AND ",$kryteria);
  3. ?>
- i dodajesz do zapytania.

5. Ściągnij sobie jakiś program do obsługi bazy, typu Front czy Navicat - dlaczego nie używacie takich rzeczy? Nawet skomplikowane zapytanie to tam kilka kliknięć i przeciągnięć myszką.

6. Nikt Ci z palca tutaj nie napisze gotowego zapytania z 5-ciu tabel.
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.