Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] Pokazanie rekordów wg. abonamentu
maniek74
post 7.04.2014, 15:18:30
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 26.08.2013

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


Witam

W tabeli klienci mam 2 pola odpowiedzialne za abonament:
`customer_subscription_type` = rodzaj abonametu
1 - free
2 - standard
3 - VIP

oraz pole
customer_subscription_from = data do kiedy jest abonament 2 i 3

abonament free jest zawsze bez względu na datę.

Problem w tym że nie wiem jak zrobić zapytanie do bazy żeby
Pokazał abonamenty vip z ważnym abonamentem jak data jest mniejsza niż dzisiejsza pokazał jako free
Pokazał abonamenty standard z ważnym abonamentem jak data jest mniejsza niż dzisiejsza pokazał jako free
Pokazał abonamenty free

Oczywiście w teakiej kolejności jak napisalem

Przy tym zapytaniu wycina mi klientów z nieważnym abonamentem zamiast przenieść do free.
  1. <?php
  2. "SELECT * FROM `".DB_PREFIX."customer` WHERE ".implode(' AND ', $querySearch)." AND `customer_type`='2' AND `customer_status`='1' AND
  3. (`customer_subscription_type`='3' AND `customer_subscription_from` >= '".date("Y-m-d")."' OR
  4. `customer_subscription_type`='2' AND `customer_subscription_from` >= '".date("Y-m-d")."' OR `customer_subscription_type`='1')
  5. ORDER BY `customer_subscription_type` DESC;"
  6. ?>


Można prosić o pomysł jak to rozwiązać?
Pozdrawiam

Ten post edytował maniek74 7.04.2014, 15:27:44
Go to the top of the page
+Quote Post
trueblue
post 7.04.2014, 15:41:46
Post #2





Grupa: Zarejestrowani
Postów: 6 803
Pomógł: 1827
Dołączył: 11.03.2014

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


Proponuje Ci użyć konstrukcji warunkowej CASE WHEN:
https://dev.mysql.com/doc/refman/5.0/en/con...l#operator_case
(w wyborze kolumn, a nie w warunku WHERE).


--------------------
Go to the top of the page
+Quote Post
ber32
post 7.04.2014, 15:43:44
Post #3





Grupa: Zarejestrowani
Postów: 332
Pomógł: 22
Dołączył: 6.07.2010

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


albo sprawdzać w php


--------------------
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: 28.06.2025 - 00:32