Foros del Web » Programando para Internet » PHP »

Archivo de noticias, es facil ayudenme.

Estas en el tema de Archivo de noticias, es facil ayudenme. en el foro de PHP en Foros del Web. Hola amigos, tengo una duda, He creado un script de noticias, el cual esta en php y utilizo un archivo .DAT para guardar los datos, ...
  #1 (permalink)  
Antiguo 21/11/2003, 11:06
 
Fecha de Ingreso: abril-2001
Ubicación: Santa Cruz - Bolivia
Mensajes: 25
Antigüedad: 16 años, 7 meses
Puntos: 0
Archivo de noticias, es facil ayudenme.

Hola amigos, tengo una duda,
He creado un script de noticias, el cual esta en php y utilizo un archivo .DAT para guardar los datos, muestra los datos paginados y todo lo demas, aqui va mi duda:
Como le hago para mostrar el titulo de la noticia y esta con un link a la noticia, no se si me hago entender? osea como un archivo de noticias donde se muestren los titulos para no ir pagina por pagina mirando todas las noticias.

Gracias de antemano.

Chao
  #2 (permalink)  
Antiguo 21/11/2003, 12:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cuando dices ".dat" supongo que usaras un archivo de texto plano .. con algún formato pre-definido de datos ...

Según sea ese formato así deberas implementar el script que bajo alguna condición (campo de esa estructura de datos de tus registros) busque y lea el archivo hasta donde sea ese registro.

Si usas algún campo (dato) extra tipo "ID" que sea único (para no encontrar otro igual) .. será más fácil implementar un sistema de busqueda en ese archivo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 21/11/2003, 14:22
 
Fecha de Ingreso: abril-2001
Ubicación: Santa Cruz - Bolivia
Mensajes: 25
Antigüedad: 16 años, 7 meses
Puntos: 0
Okay, miren este es mi script donde muestro las noticias. ahora que me hace falta? para poder hacer un archivo de noticias, lo que me falta es $key en mi foreach, pero como hago los links para llamar a cada noticia, que aparezca el titulo y al darle click nos lleve y nos muestre la noticia y todos los datos.

Gracias.

PD.- lo que no se es como utilizar el key y hacer para que los titulos se linkeen a la noticia.

Me pueden ayudar?

<?PHP

$ver = 2; // Aqui las noticias que se desean mostrar por página.
$inicio = $_GET['inicio'];
if(!isset($inicio)) $inicio = 0;


$datos = file('noticias.dat'); // Llamamos a la base de datos noticias.dat.
$datos = array_reverse($datos); // Muestra los datos al reves (el ultimo ingresado al principio).
$total = count($datos); // Cuenta las lineas existentes.

/* ahora lo importante */
$datos = array_slice($datos, $inicio, $ver);
/* utilizas array_slice para tomar solo una porcion de la matriz*/


/* y esto es como vos lo tenias */
foreach($datos as $elementos) {
$elementos = trim($elementos);
$parte = explode("|", $elementos);


$fecha = $parte[0];
$nombre = $parte[1];
$email = $parte[2];
$titulo = $parte[3];
$noticia = $parte[4];


echo "<b>" . $titulo . "</b>" . "<BR>" . $noticia . "<BR>" . "<BR>" ." Escrita por " . "<b>" . "<a href=mailto:$email>$nombre</a>" . "</b>" . " el " . "<b>" . $fecha . "</b>" . "<hr color=#800000 align=center width=80% size=1 noshade>" . "<BR>"."<BR>";
}


/* ahora creas los links con las variables que se propagarán */
if($inicio > 0)
echo "<a href=\"" . $PHP_SELF . "?inicio=" . ($inicio - $ver) .
"\"><< siguientes</a> | \n";

if($total > ($inicio + $ver))
echo "<a href=\"" . $PHP_SELF . "?inicio=" . ($inicio + $ver) .
"\">ver $ver noticias anteriores >></a>\n";

echo "<center><BR><BR>Existen un total de ". "<b>" . $total . "</b>" . " noticias publicadas hasta la fecha." . "<b>" . date("d.m.y") . "</b>" . "<BR>"."<BR></center>";
?>

Gracias.

La paginacion la hice gracias a los consejos de un amigo de aqui, pero me nacio esta otra duda.
  #4 (permalink)  
Antiguo 21/11/2003, 16:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Bien, el ID podria ser la posicion de la noticia en el fichero. Para saber la poscion debes jugar con $total, $inicio y el bucle:
Código PHP:
$id=$total-$inicio-1// REVISAR. No se si esta bien. Seria la posicion de la primera noticia a mostrar

/* y esto es como vos lo tenias */
foreach($datos as $elementos) {
$elementos trim($elementos);
$parte explode("|"$elementos);

// comentamos los campos que no queremos mostrar
// luego si quieres los borras
//$fecha = $parte[0];
//$nombre = $parte[1];
//$email = $parte[2];
$titulo $parte[3];
//$noticia = $parte[4];


echo "<b><a href='ver_noticia.php?id=".$id."'> . $titulo ."</a></b>" . "<hr color=#800000 align=center width=80% size=1 noshade>" . "<BR>"."<BR>";

$id--;  // decrementamos el id porque vamos hacia atras en el fichero

Y ver_noticia.php seria algo aso:
Código PHP:
$id=$_GET['id'];
$datos file('noticias.dat'); // Llamamos a la base de datos noticias.dat.
$noticia=$datos[$id];  // cogemos la noticia de la posicion id

$noticia trim($noticia);
$parte explode("|"$noticia);


$fecha $parte[0];
$nombre $parte[1];
$email $parte[2];
$titulo $parte[3];
$noticia $parte[4];


echo 
"<b>" $titulo "</b>" "<BR>" $noticia "<BR>" "<BR>" ." Escrita por " "<b>" "<a href=mailto:$email>$nombre</a>" "</b>" " el " "<b>" $fecha "</b>" "<hr color=#800000 align=center width=80% size=1 noshade>" "<BR>"."<BR>"
Quizas debes revisar la formula para calcular el $id inicial (donde pone REVISAR). La ultima noticia ingresada (la primera que aparece si no le pasas inicio a la pagina) deberia ser igual al numero de noticias menos 1. Y el id de la primera noticia ingresada debe ser 0.

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 22/11/2003, 11:56
 
Fecha de Ingreso: abril-2001
Ubicación: Santa Cruz - Bolivia
Mensajes: 25
Antigüedad: 16 años, 7 meses
Puntos: 0
De acuerdo Perfecto, justo lo que buscaba

Que puedo decir a esta respuesta, simplemente dire exactamente lo que buscaba y gracias Josemi, espero algun dia poder devolverte el favor.

Gracias.
  #6 (permalink)  
Antiguo 24/11/2003, 11:44
 
Fecha de Ingreso: abril-2001
Ubicación: Santa Cruz - Bolivia
Mensajes: 25
Antigüedad: 16 años, 7 meses
Puntos: 0
Pregunta Para JOSEMI

Hola, esta pregunta va para JOSEMI o alguien que lo sepa, en base al script que me corregiste, podrias mostrarme como hacer para, aumentarle secciones? osea ya me muestra por Ej: index.php?id=2 , como le haria para que me divida tambien por Ej: index.php?id=2seccion=3(o un nombre).

Supongo que es algo parecido al ID pero no me sale. Gracias de ante mano.

Romer.
  #7 (permalink)  
Antiguo 25/11/2003, 09:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Pero que significado tiene 'seccion'? ¿Segun la seccion coges un fichero DAT u otro? ¿O es un campo mas de la "tabla" del DAT?

Es que en el codigo que pusistes no aparece.

Asi lo unico que te puedo decir es que se recogeria como lo haces con el id. Y si es un valor que recibe la pagina que hace el paginado, recuerda que debes añadir ese parametro a los enlaces a las distintas paginas del paginado (¿no me he pasado con tantas paginas y paginado? ).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 25/11/2003, 10:05
 
Fecha de Ingreso: abril-2001
Ubicación: Santa Cruz - Bolivia
Mensajes: 25
Antigüedad: 16 años, 7 meses
Puntos: 0
Hola josemi,

Mira la parte SECCION seria coger una parte del fichero DAT, que seran secciones definidas por mi (politica - educacion - cultura, etc). por darte un ejemplo.

y quiero que al hacer el link ID (que por si acaso esta funcionando 100 puntos), tambien se pueda elejir los ID como divididos por categorias. Osea, solo ID´s de politica ID=2&seccion=politica o tambien ID=2&seccion=educacion, no se si ahora me hago entender?
  #9 (permalink)  
Antiguo 25/11/2003, 10:14
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Si, pero ¿como especificas la SECCION en el DAT? ¿Es una etiqueta? ¿O es un campo mas en cada noticia? Para mostrar algo segun un criterio, hay que saber por donde cortar.

Saludos.

PD: ¿Tu duda es al hacer el link a la noticia en concreto? ¿Ya tienes solucionado el mostrar la paginacion de una sola seccion?
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 25/11/2003, 10:41
 
Fecha de Ingreso: abril-2001
Ubicación: Santa Cruz - Bolivia
Mensajes: 25
Antigüedad: 16 años, 7 meses
Puntos: 0
Haber si ahora me explico:

El dat esta compuesto asi mas o menos:

Fecha/nombre/titulo/noticia/seccion.............etc.

Dividimos con el explode cada parte con /.

Ahora, el ID lo hicimos contando cada linea, osea cada linea es un ID diferente.

Ahora lo que deseo es: si quisiera seguir con el uso de ID, pero me gustaria filtrar las noticias por seccion.

Osea en el formulario de llenado tiene todos los campos arriba descritos y los ingresa al DAT separandolos por / (la barra recta), en el cual tengo un menu desplegable donde me muestra las secciones adonde deseo ingresar las noticias esta la guarda en una parte de la fila del ID llamada /seccion/ , como te muestro arriba como esta compuesto el DAT.

Ahora deseo que en base a esa seccion me muestre los titulos de las noticias segun seccion. para poder poner los titulos de X seccion en una pagina y los titulos de otra seccion en otra.

PD. si la paginacion y el uso del ID, lo entendi perfecto, eso esta funcionando 100%. .

Gracias y Saludo.
  #11 (permalink)  
Antiguo 27/11/2003, 14:02
 
Fecha de Ingreso: abril-2001
Ubicación: Santa Cruz - Bolivia
Mensajes: 25
Antigüedad: 16 años, 7 meses
Puntos: 0
Alo?
Alguien que me entienda?

o es mucho preguntar?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:33.