![]() |
![]() |
![]()
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
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 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tu masz napisane co się w takim przypadku robi
Temat: Jak poprawnie zada pytanie zastosuj się do wszystkich wskazówek przenosze -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Pokaż więcej kodu. Przynajmniej while.
-------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 22.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Oto więcej kodu:
Zaznaczam, że po usunięciu fragmentu od "OR" wszystko działa ok. |
|
|
![]()
Post
#5
|
|
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.
Ten post edytował pmir13 27.04.2011, 17:26:17 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 22.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie, nie wiem dlaczego nie przyszło mi do głowy takie prościutkie rozwiązanie. Lubię sobie chyba komplikować życie. Podstawy MySQL'a się kłaniają. Dzięki jeszcze raz.
PS. Ale pomijając moje bazgroły: kwerenda z dwiema subkwerendami nie zwraca wyniki w kodzie? Ten post edytował talkenberg 27.04.2011, 18:00:51 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiadomo, praktycznie nie wytłumaczyłeś na czym polega błąd, nawet nie podałeś go w oryginalnej wersji.
Tworzysz sobie tymczasową tabelę, więc nawet nie masz możliwości sprawdzenia zapytania bezpośrednio dając go do mysqla. Chyba że stworzysz ją sobie ponownie ręcznie albo nie jako tymczasową. Ogólnie za dużo zgadywania. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 22.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jak pisałem wcześniej, gdy używam tylko sprawdzania IN dla date_from to wszystko działa w porządku. Mogę także pobierać dane z tymczasowej tabeli. Wystarczy jednak że dodam drugą podkwerendę i po ptokach.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 06:49 |