<?php /* * @class simplenewsletter * @author webserveis * @web www.webserveis.com * @email webserveis@gmail.com * @copyright webserveis * @date 07/02/2012 * @license GPL * @usage $NewsLetter = new SimpleNewsLetter('localhost','user','password','database'); $NewsLetter->createtable('Newsletter'); echo ''; if ($NewsLetter->addemail('prova@hotmail.com')) echo 'Insert'; else echo 'alredy exist'; echo ''; if ($NewsLetter->delEmail('prova@hotmail.com')) echo 'email eliminado'; else echo 'no se ha encotrado email'; if ($NewsLetter->addemail('prova@hotmail.com')) echo 'Insert'; else echo 'alredy exist'; if ($NewsLetter->addemail('prova@hotmail.com')) echo 'Insert'; else echo 'alredy exist'; if ($NewsLetter->addemail('prova2@hotmail.com')) echo 'Insert'; else echo 'alredy exist'; echo ''.$NewsLetter->listemails(); */ class SimpleNewsLetter { private $DB_Link = ''; private $DB; private $Table = ''; public function __construct($host,$user,$pass,$dbname,$table='Newsletter') { /* * @call $var = new SimpleNewsLetter(@params); * @param string host: host del mysql server * @param string user: nom d'usuari del mysql server * @param string dbname: nom de la base de dades * @param string table: nom de la taula per ingresar els emails, per defecte 'newsletter' */ $this->DB_Link = mysql_connect($host,$user,$pass); $this->DB = mysql_select_db($dbname, $this->DB_Link); $this->Table = $table; } public function __destruct() { mysql_close( $this->DB_Link ); } public function createtable($table='Newsletter',$delete=false) { /* * @call $var->createtable(@params); * @param string table: nom de la taula, per defecte 'Newsletter' * @param bool delete: si es 'true' eliminara la taula existent, per defecte esta a 'false' */ $this->Table = $table; $Sql = ''; if ($delete) { $Sql = 'DROP TABLE IF EXISTS `' . $this->Table . '`;'; $Result = mysql_query($Sql,$this->DB_Link); } $Sql = 'CREATE TABLE IF NOT EXISTS `' . $this->Table . '` (`Id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,`Email` VARCHAR( 256 ) NOT NULL ,UNIQUE (`Email`)) ENGINE = MYISAM CHARACTER SET utf8'; $Result = mysql_query($Sql,$this->DB_Link); return $Result; } public function listemails($bracket=';') { /* * @call $var->listemails(@params); * @param string bracket: caracter separador entre emails, per defecte ';' * @return string: llista els emails */ $ret = ''; $Sql = 'SELECT Email FROM ' . $this->Table .';'; $Result = mysql_query($Sql,$this->DB_Link); if ($Result) while( $row = mysql_fetch_assoc( $Result ) ){ $ret .= $row['Email'] . $bracket; } return $ret; } public function addemail($email) { /* * @call $var->addemial(@params); * @param string email: email a insertar * @return : 'true' si sha pogut insertar, 'false' si ja existeix */ $Sql = 'INSERT INTO ' . $this->Table . "(Email) VALUES ('" . $email ."') ;"; $Result = mysql_query($Sql,$this->DB_Link); if (mysql_affected_rows($this->DB_Link) >= 1) return true; else return false; } public function delEmail($email) { /* * @call $var->delEmail(@params); * @param string email: email a eliminar * @return: 'true' i s'ha pogut eliminar, 'false' si no s'ha trobat en el llistat */ $Sql = 'DELETE FROM ' . $this->Table . " WHERE Email='" . $email . "';"; $Result = mysql_query($Sql,$this->DB_Link); if (mysql_affected_rows($this->DB_Link) >= 1) return true; else return false; } } ?>
Ejemplo de uso
$NewsLetter = new SimpleNewsLetter('localhost','user','password','database'); $NewsLetter->createtable('Newsletter'); echo '<br />'; if ($NewsLetter->addemail('prova@hotmail.com')) echo 'Insert'; else echo 'alredy exist'; echo '<br />'; if ($NewsLetter->delEmail('prova@hotmail.com')) echo 'email eliminado'; else echo 'no se ha encotrado email'; if ($NewsLetter->addemail('prova@hotmail.com')) echo 'Insert'; else echo 'alredy exist'; if ($NewsLetter->addemail('prova@hotmail.com')) echo 'Insert'; else echo 'alredy exist'; if ($NewsLetter->addemail('prova2@hotmail.com')) echo 'Insert'; else echo 'alredy exist'; echo '<br />'.$NewsLetter->listemails();
