¡Advertencia!
Este tema no ha tenido respuestas en más de un mes. Recuerda que si deseas añadir una nueva debes cumplir con las normas de la web.
Tutorial - Crear Sistema de Noticias en SQL
Creado y Programado por SoyJoaquin.



Buenas... En este post aprenderán a crear un sistema de noticias con este tutorial hecho por mi.
Bueno.. Para crear un sistema de noticias hay que tomar en cuenta 3 pasos básicos:

1-Conexión SQL
2-Formulario Guardar
3-Mostrar datos


Así que empezaremos paso a paso como hacerlo y empezamos con:

-Paso 1: Conexión SQL:
-1.1: Crear conexion a la SQL.

Aquí lo que tenemos que hacer es crear un simple archivo .PHP con el nombre que le quieran dar, Por ejemplo "coneccion.php". De aquí empezaremos a hacer las conexiones con la base de datos SQL.

En este caso tomaremos el texto como ejemplo de el conectar.php de los mc, ya que una conexión siempre es igual.

 <?
$servidor = "Aqui Servidor";
$usuario = "Usuario de la Base de Datos"; 
$clave = "Contra de la Base de Datos";
$dbnombre = "Nombre de la Base de Datos";
$conecta = mysql_connect($servidor, $usuario, $clave) or die("No se ha podido conectar con el servidor MySQL. Inténtalo mas tarde.");
mysql_select_db($dbnombre, $conecta);
?>


Tienes que cambiar los datos  por tus datos de conexión a la SQL (Base de Datos):

Aqui Servidor (Este es el servidor de la base de datos, si usas miarroba acuérdate que su servidor es mysql.webcindario.com)

Usuario de la Base de Datos (Este es tu usuario de la base de datos, si usas miarroba recuerda que tu usuario seria por ejemplo "www.123.webcindario.com" el usuario de este servidor es 123 ¿Entiendes?)

Contra de la Base de Datos (Esta es la contraseña de tu base de datos, Si usas miarroba la contraseña seria la que colocaste en la pestaña "Preferencias" en tu administrador del sitio web)

Nombre de la Base de Datos (Es el nombre de tu base de datos SQL, Si usas miarroba recuerda que el nombre de la base de datos es el mismo que el usuario)

Reemplaza esos datos en el código y guarda el archivo en tu FTP de tu sitio web.
Nota: Recuerda mantener las " " entre el dato que colocaste.

-1.2: Código SQL.
Este código lo tienen que subir a su base de datos SQL manualmente:

 CREATE TABLE `noticias` (
`id` INT auto_increment ,
`titulo` VARCHAR( 100 ) NOT NULL DEFAULT 'No Hay Titulo',
`autor` VARCHAR( 50 ) NOT NULL DEFAULT 'Desconocido',
`mensaje` VARCHAR( 1000 ) NOT NULL DEFAULT 'No Hay Mensaje',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM 



-Paso 2: Formulario Guardar:
-2.1: Crear Include.

En este paso crearemos el formulario que guardara los datos de tu noticia en tu base de datos. Este paso es demasiado fácil ya que se usara mas HTML que el mismo PHP.

Para empezar el formulario crearemos un archivo .PHP en blanco con el nombre que quieran (no importa el nombre), Después en la cabecera de tu archivo PHP colocaremos un include al archivo "coneccion.php" ya que sin el no se podrían guardar los datos.

Si no sabes como hacer un include es asi:
<?
include("NOMBRE DEL ARCHIVO");
?>


Donde dice "NOMBRE DEL ARCHIVO" colocaran el nombre del archivo que le dieron a su conexión de la SQL en el paso 1. En este caso el nombre seria "coneccion.php", y quedaría así:

<?
include("coneccion.php");
?>


recuerden que es indiferente colocar "<?PHP" o "<?" ya que se reconoce de igual forma que se esta iniciando un código php. ahora sigue con el paso 2.2

-2.2: Crear HTML Formulario.

Ahora estamos en la parte mas fácil del tutorial ya que tan solo crearas un código HTML. En este paso crearas un formulario bajo el código de " <form action="" method="post"> ... </form>", en "..." iran los input o mejor dicho "Campo de texto".

En este formulario crearas 3 campos de texto o mejor 2 campos de texto y un área de texto (textarea, Campo que hace lo mismo que el input pero es mas largo para poder escribir mejor textos largos.) para que sea mejor escribir la noticia.

Los 2 campos de texto los llamaremos uno "titulo" y el otro "autor", y el textarea lo llamaremos "noticia", y claro.. ningún formulario esta completo si no tiene un botón de enviar así que para eso crearemos un botón con el nombre de "guardar" con el valor que quieran que aparezca en el botón. Así que nuestro código va así por el momento:

<form action="" method="post">

<p align="center"> <input type="text" name="titulo" size="20"></p>

<p align="center"> <input type="text" name="autor" size="20"></p>

<p align="center"><textarea rows="8" name="noticia" cols="41"></textarea></p>

<p align="center"><input type="submit" value="Guardar Noticia" name="guardar"></p>
</form>


Pero claro nadie es genio para saber donde escribir el titulo o el autor y para eso le agregaremos un texto para identificar cual es quien. Así que quedaría así:

<form action="" method="post">

<p align="center">Titulo: <input type="text" name="titulo" size="20"></p>

<p align="center">Autor: <input type="text" name="autor" size="20"></p>

<p align="center">Noticia:</p>

<p align="center"><textarea rows="8" name="noticia" cols="41"></textarea></p>

<p align="center"><input type="submit" value="Guardar Noticia" name="guardar"></p>
</form>


Recuerda que puedes editar ese código del formulario como quieras pero sin cambiarle el nombre a los botones ni quitar /editar la etiqueta <form...

Después que lo ayas editado a tu gusto nos viene quedando tan solo el pie de esta pagina. Leer paso 2.3

-2.3: Pie de pagina: Guardar los datos del formulario.
Ahora lo que aremos sera hacer el pie de la pagina de tu formulario...
Por el momento llevamos esto:

<?
include("coneccion.php");
?>
<form action="" method="post">

<p align="center">Titulo: <input type="text" name="titulo" size="20"></p>

<p align="center">Autor: <input type="text" name="autor" size="20"></p>

<p align="center">Noticia:</p>

<p align="center"><textarea rows="8" name="noticia" cols="41"></textarea></p>

<p align="center"><input type="submit" value="Guardar Noticia" name="guardar"></p>
</form>


Ahora lo que aremos sera agregar esto después de tu </form>

<?
if($_POST['guardar'] && $_POST['titulo'] && $_POST['autor'] && $_POST['noticia']){
$act = "INSERT INTO noticias (titulo,autor,mensaje) values ('".$_POST['titulo']."','".$_POST['autor']."','".$_POST['noticia']."')";
if(@mysql_query($act)){echo "<script>alert('¡Noticia Publicada!');</script>";
}}
?>


Esto indica que guardara los campos "titulo","autor" y "noticia" en la tabla "noticias" de tu SQL que creamos en el paso 1.1

Y ya tenemos nuestro formulario listo. Guardalo con el nombre que quieras en tu FTP con la extencion .php , Es decir, "tunombredearchivo.php"

-Paso 3: Mostrar Noticias:
Ya finalizando el tutorial lo que tenemos que hacer ahora es mostrar tus noticias en un archivo .PHP

Para esto creamos un archivo .php con el nombre que quieran en el que van a incluir:

<?
include("coneccion.php");
?>
<? 
$noti1 = mysql_query("SELECT * FROM `noticias` ORDER BY `id` DESC limit 9") or die (mysql_error()); 
?>

<p align="center">
<?php
while($noti = mysql_fetch_assoc($noti1)) 
{ 
  echo "<div align="center"><center><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="300" id="AutoNumber1"><tr><td><b><font size="2" face="Verdana"> ".htmlspecialchars($noti['titulo'])."</font></b></td></tr><tr><td><b><font size="1" face="Verdana"> ".htmlspecialchars($noti['mensaje'])."</font></b></td></tr><tr><td><i><font size="1" face="Verdana">Publicado por:  ".htmlspecialchars($noti['autor'])."</font></i></td></tr></table></center></div><hr color="#000000" size="1">";
} 
?> 
</p>

Pueden modificarlo a su gusto si así lo desean.

Y Listo!
El sistema de Noticias esta hecho.
Nota: Si quieres agregarle un sistema de usuarios lo unico que tienes que hacer es colocar el sistema de usuarios en la misma carpeta que estos archivos, borrar el campo "Autor" y en el INTO en ves que cargar el '".$_POST['autor']."' vas a colocar la variable que muestra la seccion de tu usuario y debes hacer un include al archivo de tu registro de usuarios que define sierta variable.

Tutorial creado y Programado por SoyJoaquin.
Espero que les aya ayudado.

Arquitecto, diseñador y programador | Comenzando a proyectar mi vida bajo mis propios ideales. Administrador de ilDom, Twiteck y Century21
justo estaba buscando un tuto de esto sera ke me has leido la mente ¿? yo ya ise el mio (solo me faltan lo de la base de datos y a eso boy ediater para avisarte como me fue :D)

justo estaba buscando un tuto de esto sera ke me has leido la mente ¿? yo ya ise el mio (solo me faltan lo de la base de datos y a eso boy ediater para avisarte como me fue :D)


Grax.. xD
Estube todo el dia de ayer escribiendolo.. xddddd
bueno.. orita que me doy cuenta cometi un errorsito en el tuto... ya lo resuelvo.. xd

Arquitecto, diseñador y programador | Comenzando a proyectar mi vida bajo mis propios ideales. Administrador de ilDom, Twiteck y Century21
Buen aporte pero podias crear también un tuto para crear una base de datos y servidor porque si no se tiene...
Wow, es un tutorial muuuuuuuuuuuuuuuuy largo. Pero buen aporte 
Perdón por revivir pero tengo un problema: he creado una web en miarroba pero no sé como crear una base de datos Sql y todos los archivos del sistema de noticias los he subido al ftp y ahora no sé como hacerlo funcionar.
Muchas Gracias , Lo necesitaba

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻

Perdón por revivir pero tengo un problema: he creado una web en miarroba pero no sé como crear una base de datos Sql y todos los archivos del sistema de noticias los he subido al ftp y ahora no sé como hacerlo funcionar.


el archivo .sql lo tienes que subir en tu base de datos.

MySQL >> Dale click al nombre de la base de datos (se encuentra arriba de todas las tablas) >> Importar >> Seleccionas el archivo.sql >> Listo!

Saludos..

Arquitecto, diseñador y programador | Comenzando a proyectar mi vida bajo mis propios ideales. Administrador de ilDom, Twiteck y Century21
 CREATE TABLE `noticias` (
`id` INT auto_increment ,
`titulo` VARCHAR( 100 ) NOT NULL DEFAULT 'No Hay Titulo',
`autor` VARCHAR( 50 ) NOT NULL DEFAULT 'Desconocido',
`mensaje` VARCHAR( 1000 ) NOT NULL DEFAULT 'No Hay Mensaje',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM 


#1046 - No database selected
???

Todo tal cual pero nada, no me va xd
No has puesto esto:
 <?
$servidor = "Aqui Servidor";
$usuario = "Usuario de la Base de Datos"; 
$clave = "Contra de la Base de Datos";
$dbnombre = "Nombre de la Base de Datos";
$conecta = mysql_connect($servidor, $usuario, $clave) or die("No se ha podido conectar con el servidor MySQL. Inténtalo mas tarde.");
mysql_select_db($dbnombre, $conecta);
?>
Si, pero en otro archivo, y ese archivo lo he subido al FTP como decía el post xd
¿Qué lenguajes ha de conocerse para lograr entender todo esto?

Si, pero en otro archivo, y ese archivo lo he subido al FTP como decía el post xd

Ah, coño, no había leído bien el código, Eso me pasa por leerlo por encima y buscar errores comunes xDDDD. A ver, tienes que ir a Phpmyadmin, y ahí poner este código ese. La otra opción es crear la tabla de forma gráfica. Sería:

1- Darle a crear nueva tabla, ponerle el nombre que quieres.

2- Crear los campos de tabla, con las propiedades que te pone Joaquin, aunque no sé si las sabes interpretar bien.

3- Y luego poner de Primary Key el id.

Lo de Engine no sé que es.


¿Qué lenguajes ha de conocerse para lograr entender todo esto?


Css y xhtml para hacer el diseño de la web, Php, para procesar los formularios, conectar con la base de datos y mostrar las noticias (lo que hace que sea una web dinámica), lo básico de SQL (muy poco, solo saber que es y como usar INSERT INTO, SELEC, UPDATE, DETELE, ORDER BY, WHERE... Y además conocer los distintos campos de datos de SQL.).