[PHP Class] Noticion 0.9

Iniciado por BigBear, 7 Octubre 2011, 01:22 AM

0 Miembros y 1 Visitante están viendo este tema.

BigBear

Bueno , en esta version le quite esa opcion de usar bases de datos que era innecesaria debido que
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


datos($host,$user,$pass,$db)


Para crear una nueva categoria usamos


crearcategoria($nuevacategoria)


Para borrar una categoria usamos


eliminarcategoria($eliminarcategoria)


Para devolver un array con todas las categorias disponibles usamos


listarcategorias()


Para crear una nueva noticia usamos


nuevo($x_titulo,$x_contenido,$x_fecha,$categoria)


Para modificar el contenido usamos


mod($categoria,$id,$tit,$con,$fech)


Para borrar una noticia usamos


eliminar($id,$categoria)


Para poder ver el contenido de una noticia usamos


vereste($id,$categoria)


Para recibir una lista de todas las noticias usamos


vertodo($categoria)


Para crear un comentario usamos


crearcomentario($categoria,$id_noticia,$fecha,$apodo,$mensaje)


Para modificar el contenido de un comentario usamos


modcomentario($categoria,$id,$fecha,$apodo,$contenido)


Para ver el contenido de un comentario usamos


vercomentarios($categoria,$id)


Para borrar un comentario


borrarcomentario($categoria,$id)


Para cerrar la conexion con el servidor mysql usamos


close()




<?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



<?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