Ver Mensaje Individual
  #13 (permalink)  
Antiguo 12/01/2004, 11:59
Avatar de epplestun
epplestun
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 4 meses
Puntos: 5
jeje el mismo que escribio hace tiempo ya en www.zonaphp.com un articulo sobre como crear un foro en php y mysql exando lexes jajaja esta haciendo ahora un foro basado en un solo objeto, en una clase, jeje y como mu bien dice josemi es un embrion aun jajaja aun que ya esta la parte minima hecha, foros, mensajes de cada foro, respuestas de cada mensajes y esas cosas jeje

En cuanto a la licencia es PHP, la cual se basa en BSD, es decir el code es mio, podeis hacer uso de el gratuitamente, modificarlo a vuestro gusto siempre y cuando dejeis el autor original, en este caso yo jeje, la verdad es que lo iva a hacer GPL pero bueno ... me fio un poquito mas de la BSD si no os parece mal

En cuanto acabe el foro lo pongo por aqui si quereis y bueno ... la clase es muy sencilla tiene unos metodos simple sy listo

La clase es tan sencilla que se basa en esto:

Código PHP:
/*
   +--------------------------------------------------------------------+
   | DForum v.0.0.1                                                     |
   +--------------------------------------------------------------------+
   | Copyright (c) 2003 Dikode                                          |
   +--------------------------------------------------------------------+
   | This source file is subject to version 2.02 of the PHP license,    |
   | that is bundled with this package in the file LICENSE, and is      |
   | available at through the world-wide-web at                         |
   | [url]http://www.php.net/license/2_02.txt.[/url]                               |
   | If you did not receive a copy of the PHP license and are unable to |
   | obtain it through the world-wide-web, please send a note to        |
   | [email][email protected][/email] so we can mail you a copy immediately.             |
   +--------------------------------------------------------------------+
   | Authors: Ivan Rodriguez Espada   <[email protected]>          |
   +--------------------------------------------------------------------+
*/

error_reporting(E_ALL&~E_NOTICE);

class 
DForum {
    var 
$host;
    var 
$user;
    var 
$pass;
    var 
$BBDD;
    var 
$id_connection;
    var 
$datos = array();
    
    function 
DForum($host$user$pass) {
        
$this->host $host;
        
$this->user $user;
        
$this->pass $pass;
        
$this->BBDD "DForum";
        
$this->id_connection mysql_connect($this->host$this->user$this->pass) or die (mysql_error());
        
mysql_select_db($this->BBDD$this->id_connection) or die (mysql_error());
        return 
$this->id_connection;
    }
    
    function 
getForums($SQL   "SELECT id_forum, forum_title FROM forums") {
        
$expresion "from ([a-z0-9_]+)";        
        if(
eregi ($expresion$SQL$nombre)) {
            
$tabla $nombre[1];
        }
        
        
$celdas    mysql_list_fields($this->BBDD$tabla$this->id_connection);
        
$columnas  mysql_num_fields($celdas);
        
$campos    = array();
        
$dato      = array();
        
        for (
$i 0$i $columnas$i++) {
            
$campos[] = mysql_field_name($celdas$i);
        }
        
        
$consulta  mysql_query($SQL$this->id_connection) or die(mysql_error());
        
$registros mysql_num_rows($consulta) or die(mysql_error());
        
        while(
$campo mysql_fetch_array($consulta)) {
            for(
$j 0$j count($campos); $j++) {
                
$dato[$j] = $campo[$campos[$j]];
            }
            
$this->datos[] = $dato;
        }
        
        return 
$this->datos;
    }
    
    function 
getForumInfo($id_forum) {
        
$id_forum $id_forum-1;
        
$SQL      "SELECT autor, data FROM messages WHERE forum = $id_forum ORDER BY data DESC LIMIT 0, 1";
        
$query mysql_query($SQL$this->id_connection) or die (mysql_error());
        while(
$d mysql_fetch_array($query)) {
            return 
$d["autor"] . "-" date("d-m-Y"$d["data"]) . "<br>";
        }
    }
    
    function 
countForumMessages($id_forum) {
        
$id_forum $id_forum 1;
        
$SQL      "SELECT    id_message FROM messages WHERE forum = $id_forum AND id_forum = 0";
        
$query mysql_query($SQL$this->id_connection) or die (mysql_error());
        return 
mysql_num_rows($query);
    }
    
    function 
getForumMessages($forum) {
        
$forum $forum 1;
        
$SQL   "SELECT id_message, autor, title, message, data, answers, id_forum, forum FROM messages WHERE id_forum = 0 AND forum = $forum ORDER BY data DESC";
        return 
$this->getForums($SQL);
    }
    
    function 
getMessageInfo($id_message) {
        
$SQL "SELECT id_message, autor, title, message, data, answers, id_forum, forum FROM messages WHERE id_message = $id_message";
        return 
$this->getForums($SQL);
    }
    
    function 
getAnswerInfo($id_message) {
        
$SQL "SELECT id_message, autor, title, message, data, answers, id_forum, forum FROM messages WHERE id_forum = $id_message";
        return 
$this->getForums($SQL);
    }

jeje simplemente hay que meterle metodos y luego llamarlos y punto jeje cada uno se hace la plantilla que quiera y usa los metodos y san sacabo jeje no, ami me gusta trabajar asi jeje con objetillos y esas cosas y como toy aburrido en el curro pos me lo toy haciendo, por que se que me va a ser bastante util.

Un saludillo!!!
__________________
Usuario registrado de Linux #288725