Crear en mi web un apartado noticias programado en php

Hola eolianos, hace dos años que no utilizo php y estoy ahora mismo algo en blanco, necesito refrescarme un poco. La cosa es que he abierto una web, y queria en la pagina principal visualizar hasta 10 noticias, y tener la ultima noticia metida en la base de datos phpmyadmin colocada como la primera en la web, osea estilo a la de eol.net, la ultima noticia añadida al principio del todo...he creado una tabla en la base de datos de mi servidor con los siguientes campos (id (clave primaria), titular, foto, noticia, fecha). Entonces ahora queria en mi pagina principal pasar el codigo php, para que llame a base de datos, y asi pueda visualizar la noticia en la web. Otra cosa que estaba dudoso, era el tema de la foto de la noticia que no se que valor darle en la base de datos (int, varchar....), tampoco se si la foto iria alojada en la base de datos o en otro lado, haber si alguien me echa un cablecito, Gracias y un saludo
Hola,
- La imágen no se almacena (normalmente) en la base de datos.
- Puedes utilizar varchar, ya que solo insertarás una url ej. http://sitio.com/imagen.jpg
- te recomiendo te des una vuelta por aqui http://www.hotscripts.com/category/php/scripts-programs/news-publishing/ y bajes algun script ya hecho y listo para usar,
también puedes cambiarte a un cms como wordpress, drupal o joomla.

suerte
Gracias, he estado bicheando por esa web, pero al estar en ingles (que se lo justo) me confunde un poco...haber si me podeis enviar uno de ejemplo, y ya yo modificaria los nombres de los campos de las tablas, nombre de la base de datos y contraseña..que me imagino que seria lo unico que tendria que modificar no??

un saludo
Y no seria mas fácil usar php-nuke? Digo porque el php-nuke gestiona las noticias como tu dices y el solo crea los campos necesarios en la base de datos.
Los campos si los se crear yo, no tengo problemas, el unico problema que tengo es el llamar a la base de datos desde mi pagina web y mostrar las noticias, hacia ya dos años que no tocaba php y me he quedado muy despegado... :S
Si lo que quieres es un resultado práctico, prueba algún gestor. Wordpress es fácil. PHP-Nuke es del precámbrico. Drupal está bien también, aunque requiere más trabajo de configuración.

Si quieres aprender o refrescar conocimientos, echa un ojo a las funciones mysql_connect(), mysql_select_db(), mysql_query(), mysql_fetch_array()... con las que podrás interactuar con tu base de datos.

Conectar al servidor > Elegir BD > realizar consulta > convertir en array > procesar y mostrar

Si conocías PHP antiguo no es que haya cambiado demasiado a este nivel, así que dale un repaso y podrás hacerlo. Simplemente lanza una consulta con la cláusula LIMIT 10 para obtener esa cantidad de entradas de la BD. Además, ORDER BY 'fecha' DESC. Cuidado con el formato de la fecha. Cuando tengas todo eso, recorre el array y vete mostrando. A la primera dale un tratamiento diferente (mostrar todo).
bien lo tengo todo echo ya, pero me quedo estancado a la hora de mostrar las noticias que tengo en mi base de datos del servidor, creo que lo hago todo bien y no se por que no me lo muestra, no me da error en ninguna linea... :S

os dejo aqui como lo he hecho:

<?
$pos=$HTTP_GET_VARS['pos'];


// Conectar con el servidor de base de datos
$conexion = mysql_connect ("rservidor", "usuario", "contraseña")
or die ("No se puede conectar con el servidor");


// Seleccionar base de datos
mysql_select_db ("aqui pongo el nombre de mi base de datos", $conexion)
or die ("No se puede seleccionar la base de datos");


// Enviar consulta
$instruccion = "select * from noticias";
$consulta = mysql_query ($instruccion, $conexion)
or die ("Fallo en la consulta");


// Mostrar resultados de la consulta
$nfilas = mysql_num_rows ($consulta);
if ($nfilas > 0)
{
for ($i=1; $i<=$pos; $i++)
{
$resultado = mysql_fetch_array ($consulta);
}
?>

// aquí ahora prueba a mostrar algun contenido de mi base de datos:

<? echo $resultado['titulo'] ?>
<? echo $resultado['noticia'] ?>
<? echo $resultado['fecha'] ?>

// esto que hago es para pasar de noticia a la siguiente o anterior.

<? if ($pos!=1) echo "<a href='index.php?pos=". ($pos-1) ."'> « Anterior</a>"; else echo "« Anterior"; ?>
<? if ($pos!=$nfilas) echo "<a href='index.php?pos=". ($pos+1) ."'> Siguiente »</a>"; else echo "Siguiente »"; ?>

//aquí cierro!!

<?
}
else

{
echo "No hay noticias disponibles en este momento";
}

// Cerrar conexión

mysql_close ($conexion);
?>

PERDONAD EL TOCHO!! Gracias
1.- $pos = mysql_real_escape_string($_GET['pos']);

http://php.net/manual/es/function.mysql ... string.php

2.- Prueba...

// Mostrar resultados de la consulta
$consulta = mysql_query("SELECT titulo, noticia, fecha FROM noticias") or die(mysql_error());
while($resultado = mysql_fetch_array($consulta)){
echo $resultado['titulo'], $resultado['noticia'], $resultado['fecha'];
}
Gracias, va perfecto así!!! Ahora lo que me gustaria saber es cuando le doy a la siguiente noticia o la anterior, es que cuando le de no se me actualice la pagina y tengo que volver con la rueda del raton abajo del todo de la pagina para ver la noticia...me gustaria que tal como yo pulsara siguiente la pagina se quedara en el mismo sitio y no volviera a subirse hasta el principio (no se si me explico).

Gracias por todo! y un saludo...
9 respuestas