Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano (edytowane)

Hej,

Dziś wymyśliłem, że chciałbym przeprowadzić powiedzmy konkurs dla użytkowników forum. Wszyscy biorący udział w konkursie mieli by napisać posta w określonym temacie. Na koniec wypadało by wszystkich poinformować o jego wynikach, więc potrzebuję listy adresów tych użytkowników, lub automatycznego dodania im rangi, aby skorzystać z bulk maila wbudowanego w ipb3.

W jaki sposób powinienem się zabrać do pisania tej modyfikacji? Czy zna ktoś (pytanie do mistrza w sumie :a:) jakiś podobny projekcik, który można by było w miarę szybko, bezboleśnie zmodyfikować.

Zastanawiam się nad rozwiązaniem, które wypisze mi te adresy do pliku CSV, albo coś.. Tak kombinuję trochę, nie wiem jak będzie najłatwiej.. ;/ Dzięki z góry za porady.

Edytowane przez ltyszko
Opublikowano

dzięki za zainteresowanie i wprowadzenie porządku.

	$this->DB->build( 
	array( 
		'select' => 'p.pid, p.author_id',
		'from' => array( 'posts' => 'p' ),
		'add_join' => array(
						array(
							'select'	=> 'm.member_id, m.name, m.email',
							'from'  	=> array( 'members' => 'm' ),
							'where' 	=> 'm.member_id=p.p_author_id',
							'type'  	=> 'left',
						)
					)	
		'where' => 'topic_id = $this->settings['dp30sidx_items']',
		'order'	=> 'p_pid ASC',
		'limit' => array( 0, 1000 )
	)
);

chce wyciągnąć max 1000 maili użytkowników, którzy napisali posta w temacie o id = $this->settings['dp30sidx_items']. tak będzie ok?

  • Manager
Opublikowano
        $this->DB->build( 
               array( 
                       'select' => 'p.pid, p.author_id',
                       'from' => array( 'posts' => 'p' ),
                       'add_join' => array(
                                                       array(
                                                               'select'        => 'm.member_id, m.name, m.email',
                                                               'from'          => array( 'members' => 'm' ),
                                                               'where'         => 'm.member_id=p.p_author_id',
                                                               'type'          => 'left',
                                                       )
                                               )       
                       'where' => 'p.topic_id = ' . $this->settings['dp30sidx_items'],
                       'order' => 'p.pid ASC',
                       'limit' => array( 0, 1000 )
               )
       );

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

    	$this->DB->build( 
           	array( 
                   	'select' => 'p.pid, p.author_id, p.topic_id',
                   	'from' => array( 'posts' => 'p' ),
                   	'add_join' => array(
                                         	array(
                                                 	'select'    	=> 'm.member_id, m.name, m.email',
                                                 	'from'      	=> array( 'members' => 'm' ),
                                                 	'where'     	=> 'm.member_id=p.author_id',
                                                 	'type'      	=> 'left',
                                         	)
                                 	)  	 
                   	'where' => 'p.topic_id = ' . $this->settings['dp30sidx_items'],
                   	'order' => 'p.pid ASC',
                   	'limit' => array( 0, 1000 )
           	)
   	);

Nie mialem select p.topic.id wiec to chyba błąd kolejny.

Dalej p.author_id powinno też raczej być zamiast p.p_author_id

Ale niestety dalej mam: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ') w linijce 'where..

Chyba samego SQLa muszę się pouczyć, bo przy bardziej skomplikowanym zapytaniu leżę. Polecicie jakiś kurs/książkę/coś?

Opublikowano (edytowane)

    	$this->DB->build( 
           	array( 
                   	'select' => 'p.pid, p.author_id, p.topic_id',
                   	'from' => array( 'posts' => 'p' ),
  				     'where' => 'p.topic_id = 8731', #. $this->settings['dp30sidx_items'],
  				     'order' => 'p.pid ASC',
                   	'limit' => array( 0, 1000 ),
                   	'add_join' => array(
                                         	array(
                                                 	'select'    	=> 'm.member_id, m.name, m.email',
                                                 	'from'      	=> array( 'members' => 'm' ),
                                                 	'where' 		=> 'm.member_id = p.author_id',
                                                 	'type'      	=> 'left',
                                         	)
                                 	)       
           	)
   	);

tak działa. pytanie jeszcze tylko jak mogę wypisać moje e-maile w textarea na przykład w sidebarze chociaż było by wypasem gdyby możliwe by było to w panelu administracyjnym??

Edytowane przez ltyszko

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.