Generar html dinámico

Mi pregunta es un poquito larga pero muy urgente..
Necesito desarollar un site web de manera que los usuarios puedan actualizar dichas páginas web, sin necesidad que yo este presente... Osea generar páginas dinámicamente.. Por ejemplo..
En una página web tengo 2 frames la cabecera y el detalle... En el detalle quiero que vaya las noticias, pero dichas noticias tienes que ser subidos por los mismos usuarios (al decir usuarios me refiero a los diseñadores gráficos, que son los que llenan el contenido..) osea crear una página web donde los usuarios llenan campos específicos. Por ejemplo: titulo, y comentario... Luego haciendo click los sube a la página web.. Obviamente bay que trabajar con tablas.. Mysql..

3 Respuestas

Respuesta
1
Lo primero es crear el formulario para subir el contenido al servidor. El titulo, comentarios, nombre, fecha, etc lo puedes guardar en la base de datos, pero las imágenes las guardas en una carpeta.
La estructura de la tabla mysql podría ser:
Titulo, Autor, Fecha, Comentario, Imagen.
El formulario sería algo parecido al siguiente:
<html><head><title>Actualizar servidor</title></head><body>
<?php
if (!isset($_POST['titulo'])) {
echo "<form name='formulario' method='post'> \n";
echo "Titulo: <input type='text' name='titulo'> <br>\n";
echo "Autor: <input type='text' name='autor'> <br>\n";
echo "Comentario: <textarea name='comentario'></textarea> <br> \n";
echo "Imagen: <input type='file' name='imagen'> <br> \n";
echo "<input type='submit' value='enviar'>";
echo "</form>";
} else {
$destino = "./imagenes/" . basename($_FILES['archivo']['name']);
$bd = mysql_connect("localhost", "", "");
mysql_select_db = ("BaseDatos", $bd);
$consulta = "INSERT INTO Noticias (titulo, autor, fecha, comentario, imagen) VALUES (". $_POST['titulo'] .",". $_POST['autor'] .",". date("d-m-Y") .",". $_POST['comentario'] .",". $destino .")";
if(!move_uploaded_file($_FILES['imagen']['tmp_name'], $destino)) {
echo "error al copiar la imagen";
}
$datos = mysql_query($consulta, $bd);
mysql_close($bd);
}
?>
</body></html>
Ese es el script con el formulario. Ahora, a partir de la base de datos tienes que crear la web de forma dinámica. El script podría ser algo parecido al siguiente:
<html><head><title>Noticias</title></head><body>
<?php
$bd = mysql_connect("localhost","","");
mysql_select_db("BaseDatos", $bd");
$datos = mysql_query("SELECT * FROM Noticias", $bd);
while($noticia = mysql_fetch_array($datos)) {
echo $noticia['titulo'] . "<br> \n";
echo $noticia['autor'] . " - " . $noticia['fecha'] . "<br> \n";
echo "<img src='". $noticia['imagen'] . "'>";
echo $noticia['comentario'] . "<br> \n";
echo "<hr> <br> \n";
}
?>
</body></html>
Creo que eso es todo. Ahora tienes que adaptar el código a tu formato de 2 frames. La idea es sencilla: creas el formulario y cuando se rellena se almacenan los datos en la tabla Noticias de la base de datos. Las imágenes se almacenan en la carpeta imágenes. Al entrar en la página que muestra las noticias, se recorre la tabla Noticias leyendo cada uno de sus registros y mostrando los datos.
Muchas gracias por la respuesta ... tengo la idea.. pero siempre aparecen dudas.. espero que por favor me agregues a tu Msn para poder charlar mejor, así me puedas brindar mayor información... esperando respuesta tuya y agradeciendo anticipadamente..
Mi correo es:
[email protected]
Es urgente.. por favor..
Omar Retamozo
Dpto. Informática
Uso muy poco msn por lo que no puedo ayudarte por esa vía. Pero estoy encantado de ayudarte en esta web en todo lo que me sea posible.
Cuando te encuentres con más dudas que no sepas resolver, me las planteas e intento buscar una solución lo antes posible.
Respuesta
1
No entiendo exactamente que es lo que quieres que te explique. Así que a ver si esto te sirve.
Físicamente habrá un fichero llamado noticias.php (no uno para cada día, sino uno para todos los días).
A ese fichero lo llamarás desde otras páginas de la web de la forma:
noticias.php?dia=01&mes=01&anno=2005
Recogerás las variables de la siguiente forma:
$dia=$_GET['dia'];
$mes=$_GET['mes'];
$anno=$_GET['anno'];
Y seleccionarás las noticias de acuerdo a esas variables
$res=mysql_query("SELECT * FROM noticias WHERE fechaini < $anno-$mes-$dia");
Y ahora insertaras las noticias seleccionadas
while($row=mysql_fetch_assoc($res)){
echo $row['titular']."<br>";
echo $row['noticia']."<br>";
echo $row['fechaini']."<br>";
}
Espero que sea eso lo que querías saber. Hasta pronto.
Tu respuesta fue muy practica...
Ahora te explico un poco el tema..
La cuestión es que cada vez que el usuario actualize la página pues se crea un nuevo archivo php, obviamente con valores ya predefinidos y ademas valores de la tabla.. ¿por ejemplo si actualizo noticias de hoy se crea el archivo noticias.php? + el enlace
dia_07_mes_01_anio_2005
y mañana se creara el archivo noticias.php? +el enlace
dia_08_mes_01_anio_2005
y asi sucesivamente...
Espero que me expliques este tema por favor.. es muy urgente...
Nota.- Estamos insertando una página donde almacene todos las noticias anteriores, como ya los tengo en archivo.. simplemente creo una tabla con sus valores respectivos...
Entonces como iría el archivo noticias.php, que va exactamente en ese archivo...
Nota.-Disculpa tanta molestia pero soy nuevo en php y estoy aprendiendo aun...
Porque cuando alguien accede a la web:
www.miweb.com/noticias
Esto te redidecciona al index.php, y en el index hay un include(noticias.php)...
Como estas.
Veamos. Lo que dices no es nada difícil, pero el código que lo hace es bastante largo y no tengo datos suficientes. Así que te explicaré el proceso:
a) Tienes que crear una bd en mysql para almacenar las noticias. Por ejemplo
CREATE TABLE noticias (
id int(11) NOT NULL default '0',
titular varchar(50) NOT NULL default '',
noticia blob NOT NULL,
fechaini date default NULL,
fechafin date default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
b) Construyes una página que tenga un formulario para rellenar esos campos (menos el campo id, que se generara automáticamente)
c) Haces una página que recoja los datos metidos en el formulario y los añada a la bd.
d) Construyes tu sitio web con las noticias que extraes de la base de datos.
Bueno, este es elproceso que debes seguir. SI hay algún paso que te da problemas o que no sabes como abordar, no finalices la pregunta y te lo detallaré con más precisión. En fin.
Perdona la tardanza, he tenido problemillas.
Pues entonces es al index al que llamas...
index.php?dia=01&mes=01&anno=2005
Excepto la primera vez que alguien entra en la web, que por defecto pondrás la fecha de ese día. Esto se hace así:
$dia= isset($_GET['dia']) ? $_GET['dia'] : date("d");
$mes= isset($_GET['mes']) ? $_GET['mes'] : date("m");
$anno= isset($_GET['anno']) ? $_GET['anno'] : date("Y");
Y en el archivo include noticias.php lo que haces es una tabla que escriba las noticias del día seleccionado, por defecto, hoy. ALgo parecido a la ultima parte de mi respuesta anterior.
Bueno, nos vemos.
Respuesta

Te recomiendo wordpress o joomla si desea crear una página dinámica es relativamente sencillo y profesional, a cambió si lo haces en html php y mysql se tardara mucho tiempo en desarrollar, dependiendo si la página tenga demasiados contenidos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas