Foros del Web » Programando para Internet » PHP »

como mostrar datos de un TXT en un select menu??

Estas en el tema de como mostrar datos de un TXT en un select menu?? en el foro de PHP en Foros del Web. Hola, tengo un formulario para ingresar contenido a una web, dicho contenido puedo ingresarlo en la seccion que desee, ya sea Noticia, Novedad, etc, dichas ...
  #1 (permalink)  
Antiguo 07/07/2006, 12:25
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 11 años, 6 meses
Puntos: 7
como mostrar datos de un TXT en un select menu??

Hola,
tengo un formulario para ingresar contenido a una web, dicho contenido puedo ingresarlo en la seccion que desee, ya sea Noticia, Novedad, etc, dichas secciones las almaceno en un txt, en la pagina de administracion yo puedo agregar las secciones que sean y en otra pagina, donde tengo el formulario para ingresar el contenido me aparece un select menu que me despliega las secciones disponibles (sacadas desde el txt).
la forma de almacenar los nombres de las secciones es la siguiente:

secciones.txt
Código:
Noticias
Novedades
Musica
el script que me ingresa el nombre de la seccion toma el nombre que le llega por un formulario e ingresa al final \n para que cuando desee ingresar otras seccion me la agregue debajo de la anterior, el problema es cuando trato de mostrar en otro formulario un select menu con las secciones disponibles, lo hago de la siguiente manera:

Código PHP:
<? 
echo"<select name=\"seccion\">\n";
echo
"<option>NO PUBLICADO</option>\n";
$archivofopen("secciones.txt" "r"); 
if (
$archivo) { 
  while (!
feof($archivo)) {
    echo 
"<option>".fgets($archivo50)."</option>";
  }

fclose ($archivo);
echo
"</select>";
?>
NOTA: no se si este usando el codigo correcto para leer un archivo, lo saque de un ejemplo por ahi


pero al ver el select menu me queda una opcion vacía al final, para explicarme mejor, si veo el codigo fuente generado seria algo asi:

Código HTML:
<select name="seccion">
<option>NO PUBLICADO</option>
<option>Noticias</option>
<option>Novedades</option>
<option>Musica</option>
<option></option>
</select> 
osea, me queda un <option> vacío al final que es por que en el txt tengo las secciones y al final hay un salto de linea que me queda por que al ingresar una seccion lo hago con un salto de linea al final para que la siguiente seccion me la agrege en una nueva linea.

No se como solucionar para eliminar ese <option> vacio que me queda en el formulario y talvez estoy haciendo algo mal en el codigo para leer el txt, la verdad es que soy nuevo en php y es la primera vez que intento trabajar con archivos de texto, podria haber almacenado las distintas secciones en una base de datos pero creo que seria mejor utilizar archivos de texto para alivianar un poco la cosa ademas que me sirbe para aprender.

Si alguien tiene una solucion o mas bien una sugerencia que me ayude a buscar la solucion y a la vez poder aprender.

Saludos

Greco R N
  #2 (permalink)  
Antiguo 07/07/2006, 12:37
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 9 meses
Puntos: 771
Hola Greco2

A ver si te funciona así:
Código PHP:
$txt file('secciones.txt');
echo 
'<select name="secccion">';
for (
$i=0$i<strlen($txt); $i++)
  echo 
'<option>'.$txt[$i].'</option>';
echo 
'</select>'
Saludos,
  #3 (permalink)  
Antiguo 07/07/2006, 12:42
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 11 años, 5 meses
Puntos: 0
Código PHP:
<? 
echo"<select name=\"seccion\">\n";
echo
"<option>NO PUBLICADO</option>\n";

    
$contents file ("t.txt");

    foreach (
$contents as $con)    {
        echo 
"<option>".$con."</option>\n";        
    }
    
echo
"</select>";
?>
  #4 (permalink)  
Antiguo 07/07/2006, 13:06
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 11 años, 6 meses
Puntos: 7
Hola, probé primero el codigo que puso JavierB a quien le agradezco la rapida respuesta pero lamentablemente no me funcionó ya que ahora me mostraba solo un numero limitado de opciones en el select menu y si el txt tenía menos lineas entonces las demas opciones me quedaban vacías.

En segundo lugar, probe el codigo de exist y me funciono a la perfeccion.

Muchas gracias por la ayuda, ahora me funciona lo que necesitaba implementar, ahora solo me falta realizar la parte que me permita borar una seccion determinada asi que probare con lo aprendido y si tengo dudas o no me funciona algo les comentare.

Gracias nuevamente.
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 19:10.