Skocz do zawartości


- - - - -

Wyciągnięcie maili z bazy


15 odpowiedzi w tym temacie

#1 Advokat

  • Użytkownik
  • 42 postów
  • Wersja:IP.Board 2.3.x

Napisano 14 styczeń 2010 - 13:45

Czy jest jakiś sposób, aby wyciągnąć do pliku maile użytkowników - optymalnie w odwrotnej kolejności do daty rejestracji (czyli na początku lista ostatnio zarejestrowanych)?

W phpbb by Przemo był taki zgrabny kod w php, który po prostu generował na serwerze plik txt z adresami userów:

<?php 

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

define('ATTACHMENTS_DESC_TABLE', $table_prefix . 'attachments_desc');
define('ATTACHMENTS_TABLE', $table_prefix . 'attachments');

$all = array();

	$sql = "SELECT user_email FROM " . USERS_TABLE;
	
		if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not obtain users gender', '', __LINE__, __FILE__, $sql);
			}

		while($row = $db->sql_fetchrow($result))
			{
				$all[] = $row['user_email']."\n";
			}

$data = implode('', $all);
$fp = fopen("user_emails.txt", "w");
fputs($fp, $data);
fclose($fp);

echo '<CENTER><SPAN STYLE="font-size: 600">:-)</SPAN></CENTER>';
?>

Czy da się to jakoś przerobić na potrzeby IPB?

#2 mlodszy

  • Użytkownik
  • 539 postów
  • Wersja:IP.Board 3.1.4

Napisano 14 styczeń 2010 - 14:43

Hmm ... Zamierzasz zarobić na nich? Odsprzedawać bazę mail-ową?

#3 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49502 postów
  • Wersja:IP.Board 3.2.3

Napisano 14 styczeń 2010 - 14:52

Advokat: taką listę można pobrać z PhpMyAdmina. :%-):

Można by spróbować przerobić ten kod - koniecznie chcesz? :a:
intermedia - profesjonalne rozwiązania Invision Power Board

#4 santoz

  • Użytkownik
  • 784 postów
  • Wersja:IP.Board 3.1.4

Napisano 14 styczeń 2010 - 16:40

LISTAWY - Tym programem wyciągniesz maile z każdego pliku, txt sql itp.
Potem zapisze ci je jeden pod drugim w pliku .txt
m0ożesz wrzucić do niego całą tabele z userami, a nawet całą bazę, poradzi sobie.

Użytkownik santoz edytował ten post 14 styczeń 2010 - 16:41

Dołączona grafika

Dołączona grafika

#5 Advokat

  • Użytkownik
  • 42 postów
  • Wersja:IP.Board 2.3.x

Napisano 14 styczeń 2010 - 22:48

Wyświetl postUżytkownik DawPi dnia 14 styczeń 2010 - 14:52 napisał

Advokat: taką listę można pobrać z PhpMyAdmina. :a:

Można by spróbować przerobić ten kod - koniecznie chcesz? :a:

Jakby się dało przerobić to byłbym bardzo wdzięczny :%-):

Ewentualnie chociaż powiedz jak to pobrać przez phpmyadmina. Tu pewnie większe możliwości co do wyciągnięcia adresów zgodnie z kolejnością o którą mi chodzi - czyli od końca (od ostatnio zarejestrowanego).

#6 Pavulon

    C35H60Br2N2O4

  • Moderator
  • 3663 postów
  • Wersja:IP.Board 3.2.3

Napisano 14 styczeń 2010 - 23:08

Wystarczy jedno wykonać zapytanie SQL:
SELECT `email` FROM `ipb_members` ORDER BY `joined` DESC
W miejsce ipb_members wstawiasz nazwę swojej tabeli members (pewnie masz inny przedrostek).
Można to również automagicznie zapisać do pliku ale ja dziś się tym raczej nie zajmę, może kto inny.

#7 Pavulon

    C35H60Br2N2O4

  • Moderator
  • 3663 postów
  • Wersja:IP.Board 3.2.3

Napisano 14 styczeń 2010 - 23:19

Zresztą...

Zapisz w głównym katalogu i odpal w przeglądarce:
<?php
	define( 'IPB_THIS_SCRIPT', 'admin' );
	require_once 'config.php';
	
	if (!file_exists(IPB_PATH.'/initdata.php'))
	{
		echo 'Invalid IPB path';
		exit;
	}
	
	require_once( IPB_PATH.'/initdata.php' );
	require_once( IPB_PATH.'/admin/sources/base/ipsRegistry.php' );
	require_once( IPB_PATH.'/admin/sources/base/ipsController.php' );
	$registry = ipsRegistry::instance();
	$registry->init();				
	$DB       = $registry->DB();

	$query = $DB->query("SELECT `email` FROM `ipb_members` ORDER BY `joined` DESC");
	
	$fp = fopen("user_emails.txt", "w");

	while ($row = $DB->fetch($query))
		fputs($fp, $row['email']."\n");
  
	fclose($fp);
	echo '<CENTER><SPAN STYLE="font-size: 600">:-)</SPAN></CENTER>';
?>


#8 Advokat

  • Użytkownik
  • 42 postów
  • Wersja:IP.Board 2.3.x

Napisano 18 styczeń 2010 - 16:17

Hmm - coś nie tak.

Invalid IPB path

Czy to jest dla wersji 2.3.6???

#9 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49502 postów
  • Wersja:IP.Board 3.2.3

Napisano 18 styczeń 2010 - 16:20

Nie nie. Pavulon napisał to do wersji 3.x. :unsure:

Nie możesz tych maili z PhpMyAdmina pobrać?
intermedia - profesjonalne rozwiązania Invision Power Board

#10 Advokat

  • Użytkownik
  • 42 postów
  • Wersja:IP.Board 2.3.x

Napisano 18 styczeń 2010 - 20:57

A zdradzisz kod zapytania do myadmina?

Choć nie urkywam, że wygodniej byłoby wyciągnąć do pliku txt - a dalej to już prostą drogą do programu do listy wysyłkowej...

#11 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49502 postów
  • Wersja:IP.Board 3.2.3

Napisano 18 styczeń 2010 - 21:21

Czytałeś ten wątek cały?
intermedia - profesjonalne rozwiązania Invision Power Board

#12 Advokat

  • Użytkownik
  • 42 postów
  • Wersja:IP.Board 2.3.x

Napisano 18 styczeń 2010 - 22:07

Aaa - chodzi zapewne o post Santoza?

#13 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49502 postów
  • Wersja:IP.Board 3.2.3

Napisano 18 styczeń 2010 - 22:15

santoza, Pavulona. Wszyscy Ci dają dobre wskazówki, a Ty nie korzystasz.
intermedia - profesjonalne rozwiązania Invision Power Board

#14 carbonik

  • Użytkownik
  • 156 postów
  • Wersja:IP.Board 3.2.2

Napisano 25 styczeń 2011 - 22:47

Mi to nie działa. Mam forum IPB 3.1.4 może mi ktoś pomóc?

#15 Amfidiusz

    Redwood Original

  • Tłumacz
  • 7004 postów
  • Wersja:IP.Board 3.1.4

Napisano 26 styczeń 2011 - 07:34

Również mam 3.1.4 i działa mi to znakomicie. Widocznie coś zrobiłeś nie tak.
Opieka techniczna + licencja + serwer za 75zł? Teraz to już możliwe!

Dołączona grafika






Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych