Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> mysql_query i podkwerenda - składnia
talkenberg
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.11.2007

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


Witam.

W kodzie php mam coś takiego
  1. $oferta = mysql_query('SELECT * FROM takepass WHERE (from_date IN (SELECT dni FROM zakres)) OR (to_date IN (SELECT dni FROM zakres))');


Przy próbie listingu rekordów otrzymuję błąd że dostarczony argument (w pętli while) nie jest właściwy.

Jeśli usunę drugi warunek z OR, to wszystko działa. Czy zrobiłem jakiś błąd składniowy? Po wpisaniu tego zapytania do phpMyAdmina dostaję zestaw rekordów.
Dzięki za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pmir13
post
Post #2





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

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


1. Przekształcasz dwie daty w formacie obsługiwanym natywnie przez mysql na int.
2. Tworzysz dodatkową tymczasową tablicę w bazie.
3. Liczysz ile dni jest między datami, wstawiasz tyle rekordów ile jest dni, przekształcając daty z powrotem na format mysql.
4. Wszystko po to by sprawdzić, czy przedział czasowy wyznaczony przez te daty ma wspólną część z innym przedziałem branym z tabeli.

To wszystko nie trzyma się kupy. Po co?

Linie 1-18 są do usunięcia.
  1. $d1 = '2011-04-01'; $d2 = '2011-05-13';
  2. $oferta = "SELECT * FROM takepassenger WHERE from_date BETWEEN '$d1' AND '$d2' OR to_date BETWEEN '$d1' AND '$d2'";


Ten post edytował pmir13 27.04.2011, 17:26:17
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 06:39