1º Creamos la tabla en nuestra base de datos
Código:
Una vez creada la tabla, ya tenemos donde guardar los valores que adquirirá titulo y el contenido de nuestra noticia.Base de datos sistemanoticias CREATE TABLE `home_not` ( `not_ID` int(11) NOT NULL auto_increment, `notTitulo` varchar(255) NOT NULL, `notTexto` text NOT NULL, PRIMARY KEY (`not_ID`) ) ENGINE=MyISAM;
----------------------------------
2º Creamos la conexion a nuestra base de datos. db-cnx.php
Código PHP:
<?php
$db_link = mysql_connect('localhost', 'usuario', 'contraseña');
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());
}
?>
-------------------------------------
3º Creamos el archivo que se encargará de recojer, procesar y guardar los datos de nuestra noticia en la base de datos. add-noticia.php (el nombre podría ser generar-noticia.php, o cualquier otro). Como vemos disponemos en la parte inferior de un formulario, que es a través del cual añadiremos nuestras noticias.
Código PHP:
<?php
// 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']){
// creamos las variables y les asignamos los valores a insertar
$notTitulo = $_POST['notTitulo'];
$notTexto = $_POST['notTexto'];
// hacemos el INSERT en la BD
$sqlInsertNot = mysql_query("INSERT INTO sn_noticias
(notTitulo, notTexto)
VALUES ('$notTitulo', '$notTexto')",
$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";
}
}
?>
<!-- el formulario -->
<form name="noticia" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<p>
Título de la Noticia<br />
<input type="text" name="notTitulo" size="50" />
</p>
<p>
Texto de la Noticia<br />
<textarea name="notTexto" rows="10" cols="50"></textarea>
</p>
<p>
</select>
</p>
<p>
<input type="submit" name="enviar" value="Enviar" />
</p>
------------------------------------------
Al paso 3º, osea al anterior, le podriamos dotar de mayor seguridad, pero para iniciados mejor elejir la opcion de arriba. aqui os pongo la opcion con mayor seguridad:
Código PHP:
<?php
// incluimos el archivo de conexion
include ('db-cnx.php');
$env=addslashes(trim($_POST['enviar']));
$tit=addslashes(trim($_POST['notTitulo']));
$text=addslashes(trim($_POST['notTexto']));
// recibimos el formulario
if(isset($env) && $env == 'Enviar'){
// comprobamos que el formulario no envie campos vacios
if(!empty($tit) && $text){
// creamos las variables y les asignamos los valores a insertar
$notTitulo = $tit;
$notTexto = $text;
// hacemos el INSERT en la BD
$query_esc=mysql_real_escape_string("INSERT INTO sn_noticias
(notTitulo, notTexto)
VALUES ('$notTitulo', '$notTexto')");
$sqlInsertNot = mysql_query($query_esc,$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";
}
}
?>
<!-- el formulario -->
<form name="noticia" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<p>
Título de la Noticia<br />
<input type="text" name="notTitulo" size="50" />
</p>
<p>
Texto de la Noticia<br />
<textarea name="notTexto" rows="10" cols="50"></textarea>
</p>
<p>
</select>
</p>
<p>
<input type="submit" name="enviar" value="Enviar" />
</p>
4º Creamos el archivo que recojerá los valores de la db. list-noticia.php
Código PHP:
<?php
// generamos nuestra consulta
$sqlQueryNot = mysql_query("SELECT notTitulo, notTexto FROM sn_noticias", $db_link)
or die(mysql_error);
echo "<h1>$titulo</h1>";
// mostramos las noticias,
// usamos un bucle while
while($rowNot = mysql_fetch_array($sqlQueryNot)){
echo "<h1>$rowNot[notTitulo]</h1>";
echo nl2br("$rowNot[notTexto]");
}
?>
5º por ultimo. Esto es a gusto de cada uno. Crearemos el archivo.php, que recoge o muestra nuestra noticias. Yo personalmente lo que haría es en un html simple, crear una tabla de diseño, y asignarle una hoja css a mi gusto. posteriormente incluiría este html (que es el que incluye nuestra noticia) mediante un include en nuestra web.
index.php
Código PHP:
<html>
<head>
<title>Sistema de Noticias</title>
</head>
<body>
<?php include('db-cnx.php'); ?>
<?php include('list-noticia.php'); ?>
</div>
</body>
</html>
Aun no la he probado, si ven algun fallo, o no les funciona algo comentenlo y lo aclaro, o lo areglo. Un saludo a todos y Feliz año jeje