DataObject além do "CRUD", alguém ?
Olá pessoal,
Criei uma dataobject para mim realizar as funções básicas, CRUD (Create, Replace, Update e Delete). Bom, tudo funcionando numa boa, 100%.
Estou quebrando a cabeça para desenvoler um resultset para "meu esquema", ou seja, ao invés de retornar apenas uma linha da tabela, preciso retornar todos e com isso poder fazer um loop e exibir todos os registros.
Vou postar a classe resumida, somente com o GET, uma vez que o Replace (Update), Insert e Delete não interesse neste caso.
<?php/** Base de estudos* @Tutorial: Simplify Business Logic with PHP DataObjects* @URL: [http://www.onlamp.com/pub/a/php/2004/08/05/dataobjects.html?page=1*/class](http://www.onlamp.com/pub/a/php/2004/08/05/dataobjects.html?page=1*/class) w3_dataObject { private $w3_conn; private $w3_tableName; private $w3_pk; /* Primary Key da tabela */ function __construct($dbName, $tableName, $pk) { $this->w3_conn = mysql_connect('localhost','root',''); mysql_select_db($dbName); $this->w3_tableName = $tableName; $this->w3_pk = $pk; } public function get($id) { $sql = "SELECT * FROM " . $this->w3_tableName . " WHERE " . $this->w3_pk . " = '" . mysql_escape_string($id) . "'"; $rs = mysql_query($sql); $row = mysql_fetch_array($rs); while ( list($fieldName, $fieldValue) = each($row) ) { $this->$fieldName = $fieldValue; } } }?>
E estou utilizando ela da seguinte forma:
$user = new w3_dataObject('estudos','people','peopleid'); $user->get(3); echo $user->firstName; echo $user->lastName; echo $user->email;
Bom, agora suponhamos que eu precisa ao invés de:
$user->get(3);
para retorna os dados de uma coluna específica, eu informa algo como:
$user->get('*');
para retornar todos os registros, tudo bem eu crio um if na função get e ok.
Mas como proceder com o loop nos seguintes echos?
echo $user->firstName;
echo $user->lastName;
echo $user->email;
?
Me basiei no seguinte tutorial http://www.onlamp.com/pub/a/php/2004/08/05...cts.html?page=1
e aqui http://www.onlamp.com/pub/a/php/2004/08/05...cts.html?page=3 ele implementa o resultset, mas não consegui adaptar aqui.
Alguém???
Discussão (21)
Carregando comentários...