Funcionamiento
El controlador (inicio.php) hace las llamadas necesarias al modelo (torneos_model) para recopilar los datos necesarios para lanzar la vista (inicio.php).
La vista necesita los siguientes datos para mostrar la página de inicio:
- la fecha del día (fecha_hoy)
- el número de registros de la tabla torneos (num_tor)
- el número de registros de la tabla partidas (num_par)
- una tabla con los años en los que ha habido torneos, para cargar el menú lateral sólo con esos años (tor_exi).
El controlador pide los datos que necesita la vista al modelo
- $numeroTorneos = $this->Torneos_model->dame_numero_torneos();
- $numeroPartidas = $this->Torneos_model->dame_numero_partidas();
- $torneosFinal = $this->Torneos_model->dame_torneos_existen();
y se los envía a la vista en un array de datos
- $datos = array(‘fecha_hoy’ => $fecha_hoy, ‘num_tor’ => $numeroTorneos, ‘num_par’ => $numeroPartidas, ‘tor_exi’ => $torneosFinal);
El modelo realiza los cálculos necesarios mediante funciones para davolver los datos que le pide el controlador.
- function dame_numero_torneos()
- function dame_numero_partidas()
- function dame_torneos_existen()
Los documentos de Inicio de webRepertorio4
//cargo el helper de date, con funciones para trabajo con fechas del sitio //preparando el dato de fecha de referencia para la página de inicio //ponemos en $fecha_hoy la fecha en formato dd-mm-AAAA //ponemos en $fecha_tor la fecha en formato AAAA-mm-dd //$fecha_partidas = date(‘Y-m-d’,strtotime(‘+7 days’, strtotime($fecha))); //cargo el modelo de torneos //preparando el cálculo del número de torneos en la base de datos mispartidas //preparando el cálculo del número de partidas en la base de datos mispartidas //preparar una tabla con sólo los años en los que existen torneos $torneosFinal = $this->Torneos_model->dame_torneos_existen(); //recopilo en un array los datos de envío a la vista //cargo la vista pasando el array con los datos recopilados class Torneos_model extends CI_Model { function __construct(){ function dame_numero_torneos(){ if ($mysqli->connect_errno) { //$resultado = $mysqli->query(«SELECT mt_cdgo FROM torneos ORDER BY mt_cdgo ASC»); // Cerrar la conexión. } // ————————————————————————————————- function dame_numero_partidas(){ //Indicar a la conexión de mysqli que use la codificacion UTF8 ¡¡¡MUY IMPORTANTE!!! if ($mysqli->connect_errno) { $resultado2 = $mysqli->query(«SELECT * FROM partidas»); // Cerrar la conexión. } // ————————————————————————————————- function dame_torneos_anyo($id){ //Indicar a la conexión de mysqli que use la codificacion UTF8 ¡¡¡MUY IMPORTANTE!!! if ($mysqli->connect_errno) { $resultado3 = $mysqli->query(«SELECT * FROM torneos WHERE mt_anyo = ‘$id’ ORDER BY mt_cdgo ASC»); // Cerrar la conexión. } // ————————————————————————————————- function dame_torneos_existen(){ //Indicar a la conexión de mysqli que use la codificacion UTF8 ¡¡¡MUY IMPORTANTE!!! if ($mysqli->connect_errno) { // Se seleccionan de la base los torneos comprendidos entre 1987 y 2017 $resultado3 = $mysqli->query(«SELECT * FROM torneos WHERE ((mt_anyo > 1987) AND (mt_anyo < 2017))»); // Se crea una tabla de 69 elementos conteniendo cada elemento un año desde 1988 hasta 2056 for ($i = 1; $i <= 69; $i++) { // inicializar tabla de años ($anyoexiste) que tienen torneos con valor cero // contabilizamos el número de torneos existentes en cada año en la tabla $anyoexiste $conta_mad = 0; for ($i = 1; $i <= 69; $i++) { // creamos una tabla ($torneosfinal) con aquellos años que SI tienen torneos en la tabla $anyoexiste // Cerrar la conexión. } <!– Inicio Nav Lateral –> <!– Inicio Page-wrapper –> <!– Inicio Page Inner –> $k = count($tor_exi); for ($i = 1; $i <= $k; $i++) { ?> </div> <!– SCRIPTS -AT THE BOTOM TO REDUCE THE LOAD TIME–> </body> <nav class=»navbar-default navbar-side» role=»navigation»> <li> for ($i = $k; $i >= 1; $i–) { </ul> </div> </nav>
function index(){
//cargo el helper de url, con funciones para trabajo con URL del sitio
$this->load->helper(‘url’);
$this->load->helper(‘date’);
$fecha_ahora = now();
$format = ‘DATE_W3C’;
$fecha = standard_date($format, $fecha_ahora);
$fecha_hoy = substr($fecha, 8, 2) . ‘-‘ . substr($fecha, 5, 2) . ‘-‘ . substr($fecha, 0, 4);
$fecha_tor = substr($fecha, 0, 4) . ‘-‘ . substr($fecha, 5, 2) . ‘-‘ . substr($fecha, 8, 2);
$fecha_inipartidas = date(‘Y-m-d’,strtotime(‘+7 days’, strtotime($fecha)));
$fecha_finpartidas = date(‘Y-m-d’,strtotime(‘-7 days’, strtotime($fecha)));
$this->load->model(‘Torneos_model’);
$numeroTorneos = $this->Torneos_model->dame_numero_torneos();
$numeroPartidas = $this->Torneos_model->dame_numero_partidas();
$datos = array(‘fecha_hoy’ => $fecha_hoy, ‘num_tor’ => $numeroTorneos, ‘num_par’ => $numeroPartidas, ‘tor_exi’ => $torneosFinal);
$this->load->view(‘inicio’, $datos);
}
parent::__construct();
}
$mysqli = new mysqli(‘localhost’, ‘root’, », ‘mispartidas’);
//Indicar a la conexión de mysqli que use la codificacion UTF8 ¡¡¡MUY IMPORTANTE!!!
mysqli_set_charset($mysqli,»utf8″);
echo «Falló la conexión a MySQL: (» . $mysqli->connect_errno . «) » . $mysqli->connect_errno;
}
$resultado = $mysqli->query(«SELECT * FROM torneos»);
return mysqli_num_rows($resultado);
mysqli_close($mysqli);
$mysqli = new mysqli(‘localhost’, ‘root’, », ‘mispartidas’);
mysqli_set_charset($mysqli,»utf8″);
echo «Falló la conexión a MySQL: (» . $mysqli->connect_errno . «) » . $mysqli->connect_errno;
}
return mysqli_num_rows($resultado2);
mysqli_close($mysqli);
// $id viene en formato aaaa
$mysqli = new mysqli(‘localhost’, ‘root’, », ‘mispartidas’);
mysqli_set_charset($mysqli,»utf8″);
echo «Falló la conexión a MySQL: (» . $mysqli->connect_errno . «) » . $mysqli->connect_errno;
}
return $resultado3;
mysqli_close($mysqli);
$mysqli = new mysqli(‘localhost’, ‘root’, », ‘mispartidas’);
mysqli_set_charset($mysqli,»utf8″);
echo «Falló la conexión a MySQL: (» . $mysqli->connect_errno . «) » . $mysqli->connect_errno;
}
$anyo[$i]=$i + 1987;
}
for ($i = 1; $i <= 69; $i++) {
$anyoexiste[$i]=0;
}
while ($fila = mysqli_fetch_array($resultado3)) {
$conta_mad += 1;
//echo «Torneo » . $conta_mad . «: » . $fila[‘mt_torneo’] . «
«;
if ($anyo[$i] == $fila[‘mt_anyo’]) {
$anyoexiste[$i]++;
//echo «paso por este año» . $fila[‘mt_anyo’] . » – » . $i . » – » . $anyoexiste[$i] . «
«;
break;
}
}
}
$k = 0;
for ($i = 1; $i <= 69; $i++) {
if ($anyoexiste[$i] |= 0) {
$k++;
$torneosfinal[$k] = $anyo[$i];
//echo $i . » – » . $anyo[$i] . » – » . $anyoexiste[$i] . «
«;
}
}
return $torneosfinal;
mysqli_close($mysqli);
<!DOCTYPE html>
<head>
<meta charset=»utf-8″ />
<meta name=»viewport» content=»width=device-width, initial-scale=1.0″ />
<title>WebReperetorio4</title>
<?php include ‘includes/head0.inc’ ?>
</head>
<body>
<div id=»wrapper»>
<!– NAV TOP –>
<?php include ‘includes/menu_superior0.inc’ ?>
<!– /. NAV TOP –>
<?php include ‘includes/menu_lateral0.inc’ ?>
<!– Fin Nav Lateral –>
<div id=»page-wrapper» >
<div id=»page-inner»>
<div class=»row»>
<div class=»col-md-12″>
<h2>Mi historial de Ajedrez</h2>
<h5>Bienvenido a la página del historial de mi ajedrez. </h5>
</div>
</div>
<!– /. ROW –>
<hr />
<div class=»row»>
<div class=»col-md-6 col-sm-6 col-xs-6″>
<div class=»panel panel-back noti-box»>
<span class=»icon-box bg-color-red set-icon»>
<i class=»fa fa-envelope-o»></i>
</span>
<div class=»text-box» >
<p class=»main-text»><?php echo $num_tor . » Torneos»; ?> </p>
<p class=»text-muted»>Torneos</p>
</div>
</div>
</div>
<div class=»col-md-6 col-sm-6 col-xs-6″>
<div class=»panel panel-back noti-box»>
<span class=»icon-box bg-color-green set-icon»>
<i class=»fa fa-bars»></i>
</span>
<div class=»text-box» >
<p class=»main-text»><?php echo $num_par . » Partidas»; ?></p>
<p class=»text-muted»>Partidas</p>
</div>
</div>
</div>
</div>
<!– /. ROW –>
<hr />
<?php
echo «Estos son los resultados <br />»;
echo $fecha_hoy . «<br />»;
echo $num_tor . » torneos<br />»;
echo $num_par . » partidas<br /><br />»;
echo «k = » . $k;
echo «<br /><br />»;
echo «tor_exi(» . $i . «) – » . $tor_exi[$i] . «<br />»;
}
<!– /. PAGE INNER –>
</div>
<!– /. PAGE WRAPPER –>
</div>
<!– /. WRAPPER –>
<?php include ‘includes/scripts0.inc’ ?>
</html>
<div class=»sidebar-collapse»>
<ul class=»nav» id=»main-menu»>
<li class=»text-center»>
<img src=»assets/img/maseda_luis5_80.jpg» class=»user-image img-responsive»/>
</li>
<?php
echo ‘<a class=»active-menu» href=»‘ . site_url(») . ‘»><i class=»fa fa-home fa-2x»></i> Inicio</a>’;
?>
</li>
<?php
$k = count($tor_exi);
//for ($i = 1; $i <= $k; $i++) {
if ($tor_exi[$i] |= 0) {
echo ‘<li>’;
echo ‘<a href=»‘ . site_url(‘/torneosanyo/muestraanyo/’ . $tor_exi[$i]) . ‘»><i class=»fa fa-sitemap fa-2x»></i> ‘ . $tor_exi[$i] . ‘<span class=»fa arrow»></span></a>’;
echo ‘<li>’;
}
}
?>
Comparte esto:
- Haz clic para imprimir (Se abre en una ventana nueva) Imprimir
- Haz clic para compartir en Facebook (Se abre en una ventana nueva) Facebook
- Haz clic para compartir en X (Se abre en una ventana nueva) X
- Haz clic para enviar un enlace por correo electrónico a un amigo (Se abre en una ventana nueva) Correo electrónico
