Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> select z selecta w php
pomyj
post 22.04.2007, 15:57:19
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 18.03.2007

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


witam

mam pytanie czy takie coś jest dozwolone w php
wyrzuca mi błąd i nie widzę nigdzie pomyłki więc przypuszczam że nie można tego zrobić w taki sposób jak poniżej:

  1. <?php
  2. $wynik=mysqli_query($lacz,"create temporary table tmp_wy
  3.  select w.nazwa as nazwa, m.nazwa as nazwam, t.nazwa as nazwat
  4.  from (wydarzenia as w left join miejscowosci as m
  5.  on w.id_miej = m.id)
  6.  left join typy as t
  7.  on w.id_typ = t.id;");
  8. if(!$wynik)
  9. throw new Exception('Problem z bazą danych');
  10.  
  11. $wynik=mysqli_query($lacz,"select * from tmp_wy;");
  12. if(!$wynik)
  13. throw new Exception('Problem z bazą danych');
  14.  
  15. if($w_m != '-----')
  16. {
  17. $wynik_r=mysqli_query($lacz,"select * from ($wynik)
  18.  where nazwam = '$w_m' ;");
  19. if(!$wynik_r)
  20. throw new Exception('Problem z bazą danych(1)');
  21. $wynik=$wynik_r;
  22. }
  23. ?>


wylatuje wyjątek "Problem z bazą danych(1)"
i chodzi mi o to aby zrobić selecta z poprzedniego selecta

w dalszej cześci też warunkowo z 2-3 razy znów będę z wyniku robił selecta

innym rozwiązaniem bedzie za każdym razem tworzenie z selecta tabeli tymczasowej
ale wolałbym zostać przy tej koncepcji jeżeli oczywiście jakoś się da

z góry dzięki za pomoc
Go to the top of the page
+Quote Post
nospor
post 23.04.2007, 08:29:27
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
"select * from ($wynik)
where nazwam = '$w_m' ;"

Przeciez $wynik zawiera phpowy result, ktory z mysql nie ma nic wspolnego i nie mozesz tego do zapytania dac.

A czemu tego zapytania nie mozesz zapisac tak:
  1. SELECT * FROM tmp_wy WHERE nazwam = '$w_m' ;
?


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
pomyj
post 23.04.2007, 13:02:02
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 18.03.2007

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


tak czułem

a co do :
select * from tmp_wy where nazwam = '$w_m' ;

czegoś takiego nie dam bo
niżej mam jeszcze 3 takie selecty tylko inne warunki
i są one wykonywane lub nie w zależności czy w odpowiednich polach szukajki było coś wprowadzone czy nie

można to zrobić na kilka sposobów np za każdym selectem usuwać i od nowa tworzyć tmp_wy
lub usuwać z tmp_wy nie potrzebne krotki
albo pobawić się warunkami i pod $zapytanie podpiąć posklaejane zapytanie w zależności od warunków

pytanko co wg was jest najmniej czasochłonne i bedzie najbardziej przejżyste (chyba usuwanie)
Go to the top of the page
+Quote Post
nospor
post 23.04.2007, 13:04:23
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kod
niżej mam jeszcze 3 takie selecty tylko inne warunki
i są one wykonywane lub nie w zależności czy w odpowiednich polach szukajki było coś wprowadzone czy nie
Czy chodzi ci ocos takiego:
http://forum.php.pl/index.php?showtopic=34450&st=0
http://forum.php.pl/index.php?showtopic=36264&st=0
?
Jak nie to napisz dokladnie co chcesz osiagnac


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 15.07.2025 - 13:03