Trzepak.pl


Nowy temat  Odpowiedz w temacie
Autor Wiadomość
Post: czw, 19 gru 2019 11:41:07 
Odpowiedz z cytatem
Offline
Fanatyczny prenumerator
Fanatyczny prenumerator

Rejestracja: czw, 17 kwie 2008 19:34:05
Posty: 411
Lokalizacja: Zamość
Witam
Ktoś z was podpowie jak dodawać konkretną grupę ludzikom z saldem mniejszym niż np -70 zł ?

_________________
PIWO- Przysmak Istny Wielu Obywateli
http://www.speedtest.net/result/1406608213.png


Na górę
Post: pt, 20 gru 2019 11:02:51 
Odpowiedz z cytatem
Offline
Obserwator
Obserwator
Awatar użytkownika

Rejestracja: wt, 10 gru 2019 11:14:09
Posty: 26
Lokalizacja: Trójmiasto
Zależy ile masz takich klientów, ale dwojako, jedno długie bo musisz recznie każdemu klientowi ustawić grupę, drugie szybkie -> podwójnym zapytaniem do bazy danych


Na górę
Post: pt, 20 gru 2019 17:15:42 
Odpowiedz z cytatem
Offline
Powieściopisarz
Powieściopisarz

Rejestracja: wt, 25 lip 2006 19:16:03
Posty: 1742
W LMS Chilek dodał fajny trigger, który można by wykorzystać do tego:

https://github.com/lmsgit/lms/commit/84 ... 6c0a57e8c1
https://github.com/lmsgit/lms/commit/8f ... 3e14ff8043

czyli on insert odpowiednio dodawać, lub usuwać z grupy.

Osobne pytanie - na h. to komu? ;)

_________________
http://www.netfix.pro


Na górę
Post: sob, 21 gru 2019 9:07:52 
Odpowiedz z cytatem
Offline
Moderator
Moderator
Awatar użytkownika

Rejestracja: czw, 18 lis 2010 9:00:53
Posty: 3680
Lokalizacja: Mazury
1) Zapisz ten kod w pliku z rozszerzeniem php (*NAZWA_PLIKU_BEZ_ROZSZERZENIA_PHP*.php) i wrzuć do folderu modules w LMSie
2) Zmień $idGroup na ID swojej grupy
3) Zaloguj się do LMSa
4) W polu przeglądarki wpisz https://*TWOJ_ADRES_LMS*/?m=*NAZWA_PLIKU_BEZ_ROZSZERZENIA_PHP*

Ten kod pierw usuwa z grupy osoby, które już mają saldo >= -70, a następnie dodaj osoby < -70
KOD PISANY NA SUCHO, NIE TESTOWANY :)
Możesz zahaszować 2x linie z $DB->Execute, wtedy nic nie wykona na bazie, ale wyświetli Ci co chce dodać, a co chce usunąć.

Kod:
<?php
$idGroup = "123";


   foreach ($DB->GetAll('SELECT id FROM customers WHERE (SELECT SUM(value) FROM cash WHERE customerid=customers.id) >= -70 and (SELECT id FROM customerassignments WHERE customerid=customers.id and customergroupid =$idGroup LIMIT 1) IS NOT NULL') as $v) {
      print "REMOVE: ".$v['id']."<BR>";
      $DB->Execute('DELETE FROM customerassignments WHERE customergroupid =? and customerid = ?', array($idGroup, $v['id']));
   }


   foreach ($DB->GetAll('SELECT id FROM customers WHERE (SELECT SUM(value) FROM cash WHERE customerid=customers.id) < -70 and (SELECT id FROM customerassignments WHERE customerid=customers.id and customergroupid =$idGroup LIMIT 1) IS NULL') as $v) {
      print "ADD: ".$v['id']."<BR>";
      $args = array(
            'customergroupid' => $idGrupy,
            'customerid' => $v['id']
      );
      $DB->Execute('INSERT INTO customerassignments (customergroupid, customerid) VALUES (?,?)', array_values($args));
   }

?>




Jak pomogłem to mile widziany datek dla Konrada https://pomagam.pl/gfquxq0p

_________________
# http://kazuko.pl ☚☜ synchronizacja LMS -> MikroTik (DHCP,PPPoE,Simple Queue) po API / GUS / JPK


Na górę
Post: sob, 21 gru 2019 22:01:49 
Odpowiedz z cytatem
Offline
Fanatyczny prenumerator
Fanatyczny prenumerator

Rejestracja: czw, 17 kwie 2008 19:34:05
Posty: 411
Lokalizacja: Zamość
noyo pisze:
1) Zapisz ten kod w pliku z rozszerzeniem php (*NAZWA_PLIKU_BEZ_ROZSZERZENIA_PHP*.php) i wrzuć do folderu modules w LMSie
2) Zmień $idGroup na ID swojej grupy
3) Zaloguj się do LMSa
4) W polu przeglądarki wpisz https://*TWOJ_ADRES_LMS*/?m=*NAZWA_PLIKU_BEZ_ROZSZERZENIA_PHP*

Ten kod pierw usuwa z grupy osoby, które już mają saldo >= -70, a następnie dodaj osoby < -70
KOD PISANY NA SUCHO, NIE TESTOWANY :)
Możesz zahaszować 2x linie z $DB->Execute, wtedy nic nie wykona na bazie, ale wyświetli Ci co chce dodać, a co chce usunąć.

Kod:
<?php
$idGroup = "123";


   foreach ($DB->GetAll('SELECT id FROM customers WHERE (SELECT SUM(value) FROM cash WHERE customerid=customers.id) >= -70 and (SELECT id FROM customerassignments WHERE customerid=customers.id and customergroupid =$idGroup LIMIT 1) IS NOT NULL') as $v) {
      print "REMOVE: ".$v['id']."<BR>";
      $DB->Execute('DELETE FROM customerassignments WHERE customergroupid =? and customerid = ?', array($idGroup, $v['id']));
   }


   foreach ($DB->GetAll('SELECT id FROM customers WHERE (SELECT SUM(value) FROM cash WHERE customerid=customers.id) < -70 and (SELECT id FROM customerassignments WHERE customerid=customers.id and customergroupid =$idGroup LIMIT 1) IS NULL') as $v) {
      print "ADD: ".$v['id']."<BR>";
      $args = array(
            'customergroupid' => $idGrupy,
            'customerid' => $v['id']
      );
      $DB->Execute('INSERT INTO customerassignments (customergroupid, customerid) VALUES (?,?)', array_values($args));
   }

?>




Jak pomogłem to mile widziany datek dla Konrada https://pomagam.pl/gfquxq0p


Dzięki bardzo , sprawdze w Poniedziałek , datek "poleciał"

_________________
PIWO- Przysmak Istny Wielu Obywateli
http://www.speedtest.net/result/1406608213.png


Na górę
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat  Odpowiedz w temacie


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Dzisiaj jest pn, 01 cze 2020 17:23:32

Strefa czasowa UTC+02:00

Moderatorzy: Administratorzy, Moderatorzy

Nakarm glodne dziecko - wejdz na strone www.Pajacyk.pl


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
SubSilver2 modified for Trzepak.pl by Colir
Polski pakiet językowy dostarcza phpBB.pl