creando nuestro foro (segunda parte)_ las categorías
TRANSCRIPT
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
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ía creada</p>'; }
?>
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 )
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