no se puede tener varias , gran error mio pero gracias por decirmelo , en esta version le quite algunas cosas
que no hacian falta y modifique el uso de bases de datos por tablas
Para realizar la conexion usamos
Código:
datos($host,$user,$pass,$db)
Para crear una nueva categoria usamos
Código:
crearcategoria($nuevacategoria)
Para borrar una categoria usamos
Código:
eliminarcategoria($eliminarcategoria)
Para devolver un array con todas las categorias disponibles usamos
Código:
listarcategorias()
Para crear una nueva noticia usamos
Código:
nuevo($x_titulo,$x_contenido,$x_fecha,$categoria)
Para modificar el contenido usamos
Código:
mod($categoria,$id,$tit,$con,$fech)
Para borrar una noticia usamos
Código:
eliminar($id,$categoria)
Para poder ver el contenido de una noticia usamos
Código:
vereste($id,$categoria)
Para recibir una lista de todas las noticias usamos
Código:
vertodo($categoria)
Para crear un comentario usamos
Código:
crearcomentario($categoria,$id_noticia,$fecha,$apodo,$mensaje)
Para modificar el contenido de un comentario usamos
Código:
modcomentario($categoria,$id,$fecha,$apodo,$contenido)
Para ver el contenido de un comentario usamos
Código:
vercomentarios($categoria,$id)
Para borrar un comentario
Código:
borrarcomentario($categoria,$id)
Para cerrar la conexion con el servidor mysql usamos
Código:
close()
Código:
<?php
/*
Noticion 0.9
(c) DOddy Hackman 2011
*/
class noticion {
private $db;
public function datos($host,$user,$pass,$db) {
$this->db = $db;
if (@mysql_connect($host,$user,$pass)) {
if (@mysql_select_db($db)) {
return true;
}
}
}
public function crearcategoria($nuevacategoria) {
$todo1 = "create table categoria_$nuevacategoria (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
titulo VARCHAR(255) NOT NULL,
contenido TEXT NOT NULL,
fecha VARCHAR(255) NOT NULL,
PRIMARY KEY (id));
";
$todo2 = "create table comentarios_$nuevacategoria (
id_noticia int(10),
id_comentario int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
mensaje TEXT NOT NULL,
apodo VARCHAR(255) NOT NULL,
fecha VARCHAR(255) NOT NULL,
PRIMARY KEY (id_comentario));
";
if (@mysql_query($todo1)) {
if (@mysql_query($todo2)) {
return true;
}
}
}
public function eliminarcategoria($eliminarcategoria) {
if (@mysql_query("DROP TABLE categoria_$eliminarcategoria")) {
if (@mysql_query("DROP TABLE comentarios_$eliminarcategoria")) {
return true;
}
}
}
public function eliminar($id,$categoria) {
if (is_numeric($id)) {
if (@mysql_query("DELETE FROM categoria_$categoria where id='$id'")) {
return true;
}
}
}
public function nuevo($x_titulo,$x_contenido,$x_fecha,$categoria) {
$sumo = mysql_query("SELECT MAX(id) FROM categoria_$categoria");
$s = mysql_fetch_row($sumo);
foreach ($s as $d) {
$x_id = $d+1;
}
if (@mysql_query("INSERT INTO categoria_$categoria(id,titulo,contenido,fecha)values('$x_id','$x_titulo','$x_contenido','$x_fecha')")) {
return true;
}
}
public function vereste($id,$categoria) {
if (is_numeric($id)) {
$total = array();
if ($que = @mysql_query("SELECT id,titulo,contenido,fecha FROM categoria_$categoria WHERE id='$id'")) {
while ($ver = @mysql_fetch_array($que)) {
return array($ver[0],$ver[1],$ver[2],$ver[3]);
}
}
}
}
public function listarcategorias() {
$found = array();
if ($re = @mysql_query("show tables from ".$this->db)) {
while($dat = mysql_fetch_row($re)) {
$separo = split("_",$dat[0]);
array_push($found,$separo[1]);
}
return array($found);
}
}
public function vertodo($categoria) {
$total = array();
if ($que = @mysql_query("SELECT id,titulo,contenido,fecha FROM categoria_$categoria")) {
while ($ver = @mysql_fetch_array($que)) {
array_push($total,$ver);
}
return array($total);
}
}
public function mod($categoria,$id,$tit,$con,$fech) {
if (@mysql_query("UPDATE categoria_$categoria SET id='$id',titulo='$tit',contenido='$con',fecha='$fech' where id='$id'")) {
return true;
}
}
public function crearcomentario($categoria,$id_noticia,$fecha,$apodo,$mensaje) {
$sumo = mysql_query("SELECT MAX(id_comentario) FROM comentarios_$categoria");
$s = mysql_fetch_row($sumo);
foreach ($s as $d) {
$x_id = $d+1;
}
if (mysql_query("INSERT INTO comentarios_$categoria(fecha,apodo,mensaje,id_noticia,id_comentario)values('$fecha','$apodo','$mensaje','$id_noticia','$x_id')")) {
return true;
}
}
public function modcomentario($categoria,$id,$fecha,$apodo,$contenido) {
if (@mysql_query("UPDATE comentarios_$categoria SET id_comentario='$id',fecha='$fecha',apodo='$apodo',mensaje='$contenido' where id_comentario='$id'")) {
return true;
}
}
public function vercomentarios($categoria,$id) {
$todo = array();
if ($ver = @mysql_query("SELECT id_noticia,id_comentario,apodo,mensaje,fecha FROM comentarios_$categoria")) {
while ($que = @mysql_fetch_array($ver)) {
if ($que[0] == 1) {
array_push($todo,$que);
}
}
return array($todo);
}
}
public function borrarcomentario($categoria,$id) {
if (is_numeric($id)) {
if (@mysql_query("DELETE FROM comentarios_$categoria where id_comentario='$id'")) {
return true;
}
}
}
public function close() {
$test->close;
}
}
?>
Ejemplos de usos
Código:
<?php
include_once("noticion.php");
$name = New noticion;
if ($name->datos("localhost","root","","test")) {
echo "conexion abierta<br>";
//$name->crearcategoria("py");
//if ($name->borrarcomentario("perl","1")) {
//echo "ok";
//}
//$name->modcomentario("perl","2","a","a","a");
list($recibo) = $name->vercomentarios("perl","1");
echo count($recibo)."<BR><BR>";
foreach($recibo as $a) {
echo $a[2]."<br>";
}
//$name->crearcomentario("perl","1","1","1","1");
//if ($name->nuevo("aa","aa","aa","perl")) {
//echo "ok";
//}
//$ver = $name->vereste("1","perl");
//echo $ver[0];
//$name->mod("perl","3","cambie","cambie","cambie");
//$re = $name->listarcategorias();
//$name->eliminar("5","perl");
//list($re) = $name->vertodo("perl");
//foreach ($re as $r) {
//echo $r[0]."<br>";
//echo $r[1]."<br><br>";
//}
//$name->crearcategoria("perl");
//foreach($t as $veo) {
//echo $veo[id]."<br>";
//}
$name->eliminarcategoria("py");
}
Culquier error , vulnerabilidad o mejorar deben decirlas para mejorar esta clase