creando nuestro foro (segunda parte)_ las categorías

4

Click here to load reader

Upload: perro-galan

Post on 06-Aug-2015

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Creando nuestro Foro (Segunda parte)_ Las categorías

11/12/12Creando nuestro Foro (Segunda parte): Las categorías | ¡No Quiero Programar!

1/4w w w .noquieroprogramar.com/creando-nuestro-foro-segunda-parte-las-categorias/

¡NO QUIERO PROGRAMAR!PHP, CODEIGNITER Y OTROS FRAMEWORKS! Suscríbete vía RSS

Creando nuestro Foro (Segunda parte): LascategoríasBueno ha llegado el momento de ponerse a programar en CodeIgniter, pues ya tenemos lasbases de datos creadas. Para empezar pondremos algunos valores en la base de datos, en latabla de categorías, por ejemplo estas:

Os podéis fijar, tal y como os comenté en el post anterior como funciona el tema del "padre",simplemente hace referencia a la ID a la cual pertenece. En este caso tenemos la categoríapadre (definida por padre=0) "General" y sus hijos son "Noticias" y "Off-topic", de todasmaneras luego lo veréis mas claro.

Ahora necesitaremos las 3 partes fundamentales del modelo MVC que son: la vista, elcontrolador y el modelo, asi que lo vamos a crear.

1. El controlador: controllers/foros.php2. El modelo: models/foros_models.php3. Las vistas irán dentro de la carpeta views/foros, y crearemos index.php

Una vez tenemos creados estos 3 archivos empezaremos a hilar un poco todo para empezar amostrar las categorías. Empezaremos por el modelo, es el que nos ayudara a comunicarnoscon la base de datos, el código será este de momento:

Categorías

Aplicaciones reales (1)

Blog (5)

Estructura web (8)

CSS (6)

XHTML (8)

Programación web (34)

CakePHP (3)

CodeIgniter (29)

JQuery (2)

PHP (9)

Talleres (20)

Formulario de contacto (4)

Foro (3)

Gestor de noticias (6)

Sistema de usuarios (4)

Subidor de imagenes (3)

Nube de tags

validation buscador

CodeIgniter sql

injection login tablas xhtml

accesibilidad libreria controladores

miniatura css html foro upload session

class Constructor helper mvc tallerthumbnail get registro CakePHP

framework Centinela diseño

sistema de usuarios validacion

clases post guía formularios problemas

scaffolding formulario session errores

Javascript base de datos sql

MyISAM php web load model

Licencia

NoQuieroProgramar.com is licensedunder a Creative CommonsReconocimiento-No comercial 3.0España License.

Meta

Acceder

RSS de las entradas

RSS de los comentarios

WordPress.org

01.02.03.04.05.06.07.08.09.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.

< ?php

if (!defined('BASEPATH'))exit('No direct script access allowed');

class Foros extends CI_Controller{

function __construct(){

parent::__construct();}

function index(){

$this->load->model("foros_model", "foros"); $vars['query'] = $this->foros->getCategorias();$this->load->view("header");$this->load->view("foros/index", $vars);$this->load->view("footer");

}

} ?>

INICIO

Page 2: Creando nuestro Foro (Segunda parte)_ Las categorías

11/12/12Creando nuestro Foro (Segunda parte): Las categorías | ¡No Quiero Programar!

2/4w w w .noquieroprogramar.com/creando-nuestro-foro-segunda-parte-las-categorias/

Si os fijáis básicamente cree una función que consulta las categorías, según la id de "padre"que especifiquemos. Es decir sin a la función le pasamos un 0 (o nada en su defecto) nosdevolverá las categorías padre. En nuestro ejemplo sería "General" y "Temas". Si le pasamosla id=1 nos devolvería las subcategorias de "General" que son "Noticias" y "Off-topic". ¿Fácilno?

Ahora pasaremos al controlador, que se encargara de coordinarlo todo. El código de momentoserá este:

Primero de todo, cargamos el modelo, luego cargamos las vistas (header y footer, con lacabecera y el pie de la página; es una buena practica para ahorrarnos repetir código). Lepasaremos el resultado de la función del model (que nos devuelve la consulta) hacía la vista,donde la trataremos y le daremos forma.

La vista tendrá este código:

Esto lo haremos en 3 pasos. Primero comprobamos que existe categorías, sino mostraremosun mensaje de error. En caso afirmativo cargaremos las categorías padre, que es la que nosvenían del resultado anterior, y luego por cada una de ellas, buscaremos a sus hijos, quesimplemente será buscar aquellas categorías que sus id corresponda con el padre. Nosquedará algo así:

26. ?>

01.02.03.04.05.06.07.08.09.10.11.12.13.14.15.16.

< ?phpclass Foros_model extends CI_Model{

function __construct(){

parent::__construct();} function getCategorias($padre = 0){

$this->db->where("padre", $padre);$q = $this->db->get('forum_cat');return $q;

}}

?>

01.02.03.04.05.06.07.08.09.10.

11.12.13.14.15.16.17.18.

< ?phpif($query->num_rows() > 0){

foreach($query->result() as $row){

echo '<h2>'.$row->nombre.'</h2>';$sub = $this->foros->getCategorias($row->id);foreach($sub->result() as $row2){

echo '<h4><a href="index.php/foros/categoria/'.$row2->id.'">'.$row2->nombre.'</a></h4>';

}}

}else{

echo '<p>No hay ninguna categor&iacute;a creada</p>'; }

?>

Page 3: Creando nuestro Foro (Segunda parte)_ Las categorías

11/12/12Creando nuestro Foro (Segunda parte): Las categorías | ¡No Quiero Programar!

3/4w w w .noquieroprogramar.com/creando-nuestro-foro-segunda-parte-las-categorias/

Etiquetado con: base de datos, CodeIgniter, crear, foro, load model, models, php Deja un comentario

ErnestoOsuna25 agosto, 2011 - 04:07

me da problemas en el modelo y controlador me dice k el modelo no fue encontrado @.@

ErnestoOsuna25 agosto, 2011 - 04:26

Ya me funcionoagrege esto al afuncion del modelo$this->load->database();y al controlador le cambie$this->load->model(“foros_models”, “foros”);esa linea (Le agrege una s) y ya funciono todo

wpp23 enero, 2012 - 05:06

error revolviste primero colocaste el controlador y luego el modelo

Fijaros que ya he puesto que cada categoría (hija) tenga ya un enlace para acceder a losposts de cata una de ellas (en los siguientes tutoriales). Obviamente esto es muy básico, quese puede ordenar con las típicas tablas que nos muestran el total de post, la última respuestay todo eso, pero al fin y al cabo son detalles y no entraremos de momento.

Leave a comment

Nombre (required)

Correo electrónico (required)

Web

¿Te gustó este artículo?

¡Suscríbete a nuestro feed RSS!

Comentarios (3) Trackbacks (0) ( suscribirse a los comentarios de esta entrada )

Page 4: Creando nuestro Foro (Segunda parte)_ Las categorías

11/12/12Creando nuestro Foro (Segunda parte): Las categorías | ¡No Quiero Programar!

w w w .noquieroprogramar.com/creando-nuestro-foro-segunda-parte-las-categorias/

Copyright © 2012 ¡No Quiero Programar! · Creado con WordPress Lightword Theme translated by Der Tee Blog and Businessangels Arriba ↑

Creando nuestro Foro (Tercera parte): Los temas »

« Creando nuestro Foro (Primera parte): La base de datos

Enviar