y tambien esto:
Código PHP:
Ver original<?php
require_once(LIB_DIR.SD."database.php");
class tabla
{
protected static $nombre_tabla;
public static function buscar_por_id($id)
{
global $bd;
$matriz_usuarios = static::buscar_por_sql("SELECT * FROM " .static::$nombre_tabla."
WHERE id={$id}");
}
public static function buscar_todos()
{
return self::buscar_por_sql("SELECT * FROM". static::$nombre_tabla);
}
public static function buscar_por_sql($sql)
{
global $bd;
$resultado = $bd->enviar_consulta($sql);
$matriz_usuarios = array(); while($registro = $bd->fetch_array($resultado))
{
array_push($matriz_usuarios, static
::instanciar($registro)); }
return $matriz_usuarios;
}
public static function instanciar($registro)
{
$nombre_clase = get_called_class();
$objeto = new $nombre_clase;
foreach($registro as $propiedad => $valor)
{
if($objeto->propiedad_existe($propiedad))
{
$objeto->propiedad = $valor;
}
}
return $objeto;
}
public function propiedad_existe($propiedad)
{
$propiedades =$this->propiedades();
}
public function propiedades()
{
}
public function crear()
{
global $bd;
$propiedades = $this->propiedades();
$sql = "INSERT INTO ".static::$nombre_tabla."(";
$sql .=" ) VALUES ('";
if($bd->enviar_consulta($sql))
{
$this->id = $bd->insert_id();
return true;
}
else
{
return false;
}
}
/** public function insertarlibro()
{
global $bd;
$sql = "INSERT INTO libro(";
$sql .="autor, titulo, precio";
$sql .=") VALUES ('";
$sql .= $bd->preparar_consulta($this->autor) . "','";
$sql .= $bd->preparar_consulta($this->titulo) . "','";
$sql .= $bd->preparar_consulta($this->precio) . "')";
$bd->enviar_consulta($sql);
$this->id = $bd->insert_id();
}
*/
public function actualizar()
{
global $bd;
$propiedades = $this->propiedades();
foreach($propiedades as $propiedad => $valor)
{
array_push($prop_format,"{$propiedad}='{$valor}' ");
}
$sql = "UPADTE ".static::$nombre_tabla." SET ";
$sql .=" WERE id = ". $bd->preparar_consulta($this->id);
$bd->enviar_consulta($sql);
if($bd->affected_rows() == 1)
{
return true;
}
else
{
return false;
}
}
public function eliminar()
{
global $bd;
$sql = "DELETE FROM ". static::$nombre_tabla;
$sql .= " WHERE ID =" . $bd->preparar_consulta($this->id);
$sql .= " LIMIT 1";
$bd->enviar_consulta($sql);
if($bd->affected_rows() == 1)
{
return true;
}
else
{
return false;
}
}
}
?>