Título: [PHP Class] Noticion 0.9 Publicado por: BigBear en 7 Octubre 2011, 01:22 am 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 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 |