Sistema de Noticias - PHP - Mysql
watson

Puntos: 107
Novato
 

El sistema de noticias se conforma por los siguientes archivos.

db-cnx.php -> conexion a la BD
add-categoria.php -> agregar categorias
add-noticia.php -> agregar las noticias
list-categoria.php -> mostrar las categorias en una lista
list-noticia.php -> mostrar las noticias dependiendo de la categoria pedida, si no, entonnces mostrara todas las noticias
index.php -> inicio, incluye los archivos: db-cnx.php, list-categoria.php y list-noticia.php
sistemanoticias.sql -> la base de datos

En el archivo sistemanoticias.sql ponemos:

Codigo:
-- Base de datos: `sistemanoticias`

CREATE TABLE `sn_categorias` (
`cat_ID` int(11) NOT NULL auto_increment,
`catCategoria` varchar(100) NOT NULL,
PRIMARY KEY (`cat_ID`)
) ENGINE=MyISAM;

CREATE TABLE `sn_noticias` (
`not_ID` int(11) NOT NULL auto_increment,
`notTitulo` varchar(255) NOT NULL,
`notTexto` text NOT NULL,
`notCategoriaID` int(11) NOT NULL,
PRIMARY KEY (`not_ID`)
) ENGINE=MyISAM;


En db-cnx.php ponemos:

Codigo:
$db_link = mysql_connect('localhost', 'root', '');
if(!$db_link){
die('No se pudo conectar: ' . mysql_error());
}
$db_selected = mysql_select_db('sistemanoticias', $db_link);
if(!$db_selected){
die('No se selecciono la BD: ' . mysql_error());
}
?>

En add-categoria.php ponemos:

Codigo:
// incluimos el archivo de conexion
include ('db-cnx.php');

// recibimos el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
// comprobamos que el formulario no envie campos vacios
if(!empty($_POST['catCategoria'])){
// creamos la variable y le asignamos el valor a insertar
$catCategoria = $_POST['catCategoria'];
// hacemos el INSERT en la BD
$sqlInsertCat = mysql_query("INSERT INTO sn_categorias (catCategoria)
VALUES ('$catCategoria')", $db_link)
or die(mysql_error());
// enviamos un mensaje de exito
echo "Los datos fueron gurdados correctamente";
}else{
// si el formulario viene vacio
// enviamos un mensaje de error
echo "Debe llenar el formulario";
}
}
?>



Nueva Categoría








En add-noticia.php ponemos:

Codigo:
// incluimos el archivo de conexion
include ('db-cnx.php');

// recibimos el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
// comprobamos que el formulario no envie campos vacios
if(!empty($_POST['notTitulo']) && $_POST['notTexto'] &&
$_POST['notCategoriaID']){
// creamos las variables y les asignamos los valores a insertar
$notTitulo = $_POST['notTitulo'];
$notTexto = $_POST['notTexto'];
$notCategoriaID = $_POST['notCategoriaID'];
// hacemos el INSERT en la BD
$sqlInsertNot = mysql_query("INSERT INTO sn_noticias
(notTitulo, notTexto, notCategoriaID)
VALUES ('$notTitulo', '$notTexto', '$notCategoriaID')",
$db_link) or die(mysql_error());
// enviamos un mensaje de exito
echo "Los datos fueron gurdados correctamente";
}else{
// si el formulario envia algun campo vacio
// enviamos un mensaje de error
echo "Debe llenar todos los campos del formulario";
}
}
?>



Título de la Noticia




Texto de la Noticia




Categoría








En list-categoria.php ponemos:

Codigo:

Categorías...


$sqlQueryCat = mysql_query("SELECT FROM sn_categorias", $db_link)
or die(mysql_error);
echo "";
?>


En list-noticia.php ponemos:

Codigo:
// verificamos si se ha enviado
// alguna variable via GET
if(isset($_GET['id']) && $_GET['categoria']){
// asignamos los valores
// a las variables que usaremos
$cat_ID = $_GET['id'];
$categoria = $_GET['categoria'];
$clausula = "WHERE notCategoriaID = '$cat_ID'";
// tambien armamos el titular de la pagina
$titulo = "Noticias en la categoria $categoria";
}else{
// de lo contrario
// el titulo sera general
$titulo = "Todas las noticias";
}
// armamos la consulta
$sqlQueryNot = mysql_query("SELECT notTitulo, notTexto FROM sn_noticias
$clausula", $db_link)
or die(mysql_error);
echo "

$titulo

";
// mostramos las noticias,
// otra vez usanod un bucle while
while($rowNot = mysql_fetch_array($sqlQueryNot)){
echo "

$rowNot[notTitulo]

";
echo nl2br("$rowNot[notTexto]");
}
?>


Y por último en index.php ponemos:

Codigo:


Sistema de Noticias - By RogerTM


Sistema de Noticias - By RogerTM










Puntos: Sin Puntos - Opsss: Para dar puntos debes estar conectado... - Post Publicado hace 12 años
Facebook Twitter Sonico Delicious Digg My Space Technorati Google     

Solo Miembros Activos pueden comentar.





Subir
Si no tenés 1360x768 jodete.
Hecho por Tomás - Inspirado en Taringa
Domingo 28 de Abril del 2024
RSS Feed - Sitemap
Powered by PHP - Apache - MySQL