Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MSSQL][PHP]Pozapytanie zwracające sprawdzające wszystkie wyniki
Forum PHP.pl > Forum > Przedszkole
poli25
Witam mam taki problem robie wysylanie maile z wezwaniem do zapłaty. w tabeli nr 1 zapisuje wysłane id_faktury która pozostaje do zaplaty.
Powiedzmy ze wysłałem dzis wezwanie do 2 klientów:
klient A ma 3 faktury
klient b ma 4 faktury
za tydzien wysle kolejne wezwanie ale w miedzy czasie klient b zapłacił 1 fakture jak zrobić aby w nastepnym wezwaniu do klienta a w wezwaniu pisało wezwanie nr 2 (bo zaleglosci pozostała bez zmian) a do klienta b wezwanie nr 1 (bo zmienil sie stan zaległosći o zapłaconą fakturę) Dzięki za pomoc
piotrooo89
nie rozumiem chyba, skoro zapłacił jedna fakturę to dalej ma do zapłaty trzy, więc wysyłasz kolejne wezwanie - w tym wypadku nr dwa, czyż nie?
poli25
tak ale tym razem ma inną kwotę do zapłaty więc jeśli nastepnym razem nie zapłaci to chce żeby pojawiło się wezwnaie nr 2 dotyczące dokładnie tych samych Faktur a jęsli którąś zapłaci to ma jakby bonus wink.gif

p.s. poza tym byłoby głupotą gdyby zapłacił zaległe faktury a za 2 tygodnie zas mial jakas fakture do zapłąty i bedzie mial wezwanie nr 2 co jest nonsensem. Bo faktycznie ma wezwanie nr 1 do nowej faktury.
piotrooo89
czyli traktujesz każde wysłanie jednej grupy jako jeden numer, i każda zmiana czegokolwiek w tej grupie powoduje nadanie nowego numeru? jeśli tak to musisz zrobić tabele w której będziesz trzymał aktualną grupę faktur i jak coś sie zmieni w tej grupie to nadajesz nowy numer.
poli25
własnie tak o to mi chodzi ale nie wiem jak sprawdzic te 2 grupy faktur bo jesli dla danego kontrahenta w wyslanych mailach w ostatnim wezwaniu mam 9 faktur a teraz mam 8 to nie wiem jak zrobić aby to porównać ze sobą mam podzapytanie podzapytanie zwaraca mi sie 8 id_faktury i on widzi jako kolejne wezwanie ;/
piotrooo89
ja bym zrobił coś takiego... powiedzmy że tabela wygląda tak:

Kod
id_grupa || id_faktura || zaplacona || id_klient || licznik
1 || 23 || false || 1 || 1
1 || 24 || false || 1 || 1
2 || 25 || false || 2 || 1
2 || 26 || false || 2 || 1
2 || 27 || false || 2 || 1


czyli masz przyporządkowane grupy dla każdego użytkownika. i teraz zmieniła Ci się tylko faktura 26 w grupie 2 i w wyniku masz tak:

Kod
id_grupa || id_faktura || zaplacona || id_klient || licznik
1 || 23 || false || 1 || 1
1 || 24 || false || 1 || 1
2 || 25 || false || 2 || 1
2 || 26 || true || 2 || 1
2 || 27 || false || 2 || 1


pobierasz ilość wszystkich faktur gdzie zapłacona == false i wszystkie faktury ogólnie w ramach klienta, więc otrzymasz:

w przypadku klienta 2
zapłacona == false - 2
wszystkie - 3
2 != 3
więc wiesz że jedna zapłacona była, więc nic nie robisz

w przypadku klienta 1
zapłacona == false - 2
wszystkie - 2
2 == 3
więc wiesz że nic nie zrobił i możesz zwiększyć licznik + 1.

to jest mój pomysł, chyba że masz jakieś szczególne zapotrzebowanie na inną funkcjonalność więc to jest czas, żebyś o tym powiedział.
poli25
To byłoby świetne i działałoby gdybym ja mial informacje ze ona została zaplacona ale ja jej po prostu juz nie widze.
Ja np dzis wyciągam faktury które są do zapłaty (będą to id: 1,2,3,4,5) i wysyłam maile oraz zapisuje je do bazy w tabeli wyslane.
Powiedzmy za tydzień generuje wezwania i id faktury "1" już nie ma w tabeli do_wyslania (została zapłacona) ale jak to wykazaćquestionmark.gif


piotrooo89
no to logiczne, że musisz jakoś oznaczyć, że faktura została zapłacona... no inaczej to nie będziesz mógł rozróżniać jakie wezwania dla jakich grup wysyłać.
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.