Foros del Web » Programando para Internet » PHP »

Bases de datos o ficheros??

Estas en el tema de Bases de datos o ficheros?? en el foro de PHP en Foros del Web. Hola a todos!! Estoy haciendo una pagina web para dar cursos on-line.Quiero que cuando un alumno introeduzca su contraseña tenga acceso sólo al contenido de ...
  #1 (permalink)  
Antiguo 05/12/2005, 05:46
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Pregunta Bases de datos o ficheros??

Hola a todos!!

Estoy haciendo una pagina web para dar cursos on-line.Quiero que cuando un alumno introeduzca su contraseña tenga acceso sólo al contenido de los cursos de los que está matriculado.Lo que pasa es que no tengo mucha idea de cómo hacerlo,es decir, no se si el contenido(o temario) de cada curso es mejor guardarlo en ficheros o en bases de datos.Si alguien me pudiera orientar se lo agradecería.

Muchas gracias
  #2 (permalink)  
Antiguo 05/12/2005, 16:22
 
Fecha de Ingreso: julio-2003
Ubicación: Benilloba/Valencia
Mensajes: 69
Antigüedad: 20 años, 8 meses
Puntos: 0
Pues yo lo haria en una base de datos. Es bastante simple asi y accesible desde cualquier plataforma si lo haces en mysql por ejemplo.

saludos
  #3 (permalink)  
Antiguo 05/12/2005, 17:11
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Gracias por tu respuesta.

Supongamos que cada uno de los cursos está formada por cantidad de información(por ejemplo, 50 páginas en un archivo .doc).Sería factible trabajar con BBDD??

Saludos
  #4 (permalink)  
Antiguo 05/12/2005, 20:15
 
Fecha de Ingreso: mayo-2005
Mensajes: 84
Antigüedad: 18 años, 10 meses
Puntos: 0
Claro

Claro que si, optimizalo solamente
  #5 (permalink)  
Antiguo 06/12/2005, 05:17
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
ok,pero cómo almaceno entonces los datos??

Ya he dicho antes que lo que estoy haciendo es una web para dar cursos on-line.En dicha pagina web quiero que se oferten distintos cursos.Evidentemente,cada curso tendrá su propio contenido(texto e imágenes)..Pero,tengo las siguientes dudas:

1.¿Debo crear una tabla distinta para cada curso?
2.¿En caso de ser así,qué campos debería tener cada tabla??
3.¿Cómo almaceno el contenido en la base de datos?¿Será apartir de un fichero,no??

Como veis,estoy un poco perdido,asi que espero que alguien me pueda ayudar cuanto antes,ya que lo necesito para mi proyecto final de carrera

Saludos y muchas gracias
  #6 (permalink)  
Antiguo 07/12/2005, 11:13
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Alguna idea??
  #7 (permalink)  
Antiguo 07/12/2005, 13:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
1.¿Debo crear una tabla distinta para cada curso?
NO, se trata de que analices tus datos y veas que relaciones tienen entre ellos. Esto es parte del diseño de una Base de datos y temas de "normalización" (para ver que "modelo" de los existentes te acomodaría más) ..

En definitiva no es un tema de PHP sino de "Base de datos". Puedes ver tutoriales al respecto en:

www.mysql-hispano.com

(y para dudas concretas .. en el foro de "Base de datos").

Cita:
2.¿En caso de ser así,qué campos debería tener cada tabla??
Si tu definieras una tabla como "cursos" .. cada "registro" de esa tabla sería uno de tus "cursos" .. a su vez esos "cursos" tendrán "alumnos" (que componene ese curso, o dicho de otra forma .. a que curso (uno sólo en este caso) pertenece el alumno) .. todo relacionado "1->N". O en otra tabla "alumnos" y otra tabla más tipo "N-N" los curos y alumnos que lo componen (sobre todo útil cuando puedas tener un alumno que esté en vários cursos) ..

Luego tendrás cosas anexas al "curso" como quien lo imparte "los profesores si es que corresponde" .. tendrás el "material" del curso (lecciones) que serán documentos PDF .. o serán de otro formato .. Pero en definitiva tendrás otra -relación- más entre el "curso" (definición de que se trata el curso .. fechas .. etc) y el material ...

En fin .. todo esto es discutible afinando más que "casos" de estas entidades (cursos-alumnos-material .. etc) puedan suceder.

Cita:
3.¿Cómo almaceno el contenido en la base de datos?¿Será apartir de un fichero,no??
Tendrás que aclarar como vas a distribuir el material que vas a usar en tus curso .. Podría ser simples documentos (pdf, word ..) (uno por curso ...) o eso mismo pero distribuidos en "fasciculos" (o temas) por días? .. Lo importante aquí es definir como se va a tener que entregar el curso (de una vez?, parcelado en el tiempo? .. como?).


Como veras . .antes de hacer nada debes tener muyyy claro que elementos tienes y como lo vas hacer. Si lo tienes ya claro, aquí no detallastes el proyecto así que no se podrán hacer más recomendaciones, pero .. tampoco un foro creo que sea lo ideal para discutir esos temas genéricos, intenta leer sobre "modelo de base de datos" .. creo que por ahí te aclará un poco más. Pero sobre todo "define" y concreta que y hasta donde tienes que llegar.

Un saludo,
  #8 (permalink)  
Antiguo 08/12/2005, 11:00
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Gracias por tu ayuda.

Te has extendido bastanate,lo cual está muy bien, pero a mí solamente me interesa cómo almacenar los temas o lecciones de los cursos.Es decir,mi idea es que el administrador(o quien sea) suba archivos al servidor(archivos .doc por ejemplo,que contendrán las lecciones) y que sus contenidos sean almacendos en una tabla.Lo que quiero saber es concretamente ésto:

1.¿Cómo saco el contenido de los archivos y lo almaceno en la base de datos??
2.¿Cuantas tablas necesitaría para ésto y cuántos campos cada uno de estos?

Pero bueno,como tienes razón Cluster en que esto es mas un tema de bases de datos ,y en tutoriales no consigo sacar lo que quiero saber,seguiré pidiendo ayuda en el subforo "bases de datos"

Gracias y saludos
  #9 (permalink)  
Antiguo 08/12/2005, 11:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
1.¿Cómo saco el contenido de los archivos y lo almaceno en la base de datos??
No es tan simple .. de hecho obtener el contenido de un .doc (leerlo, "parsearlo") desde PHP es prácticamente (no es común .. un .doc no es un formato de texto plano .. está codificado .. tiene su própio formato .. etc) imposible.

Lo que si que puedes hacer es subir tu documento tal cual (ese .doc .. o un .pdf ... por ejemplo) y que en tu Base de datos guardes el nombre del mismo y su ruta si corresponde para que desde ahí se gestione su entrega (descarga).

Y también podrías subir a tu servidor algún formato más común y simple de "parsear" .. como por ejemplo Texto plano con psudo-formato dado por códigos própios .. Tal cual hace este foro:

Ejemplo:
"Blablablabla esto es negrita y blablablabal"

Para que el foro interprete eso, .. escribí:
"Blablablabla [b ]esto es negrita[/b ] y blablablabla"

O incluso puedes usar editores HTML visuales (como los DHTML de HTML Area (www.htmlarea.com) .. En ese caso, el tutorial sería escrito "on-line" sobre tu zona de administración por el redactor/profesor de turno ..

Cita:
2.¿Cuantas tablas necesitaría para ésto y cuántos campos cada uno de estos?
No hables de "cuantas" o cuantos campos .. Aclara primero el primer punto. Si te conformas con subir esos .doc tal cual y que tus alumnos se bajen ese .doc (administrado por tu BD para saber cuando se lo bajan .. cuantas veces .. y demás controles ..) Ahí se podrá ir viendo "cuantas"; insisto que no se trata de "cuantas" ni se puede dar un n° si no defines el proyecto: tu habas que sólo te intersa tal cosa .. todavía no concretas si tienes "alumnos" que se subscriban a esos cursos o los vas a distribuir a cualquiera que entre a tu web? ... por qué simplemente TODOS los elementos que intervenan en tu modelo de datos se relacionan.

Un saludo,

Última edición por Cluster; 08/12/2005 a las 12:11
  #10 (permalink)  
Antiguo 08/12/2005, 16:09
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Prácticamente imposible??No me asustes!!

Bueno,vamos pues a intentar aclarar el primer punto.Dices de subir archivos de texto con pseudo-formato,no??Pero se me plantean las siguientes preguntas:
1.Cómo hago si quiero que el documento contenga imágenes??
2.El encargado de redactar el temario deberá tener por tanto conocimientos básicos de HTML,no??

Lo que dices de descargarse los documentos(.doc, .pdf, o lo que sea) tal cual no me parece muuy buena idea.Sería factible guardar los archivos en la base como BLOB y luego poder verlos en formato HTML??

Sé que puedo ser un poco pesado pero es que la verdad es que estoy un poco perdido
  #11 (permalink)  
Antiguo 08/12/2005, 16:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Lo que dices de descargarse los documentos(.doc, .pdf, o lo que sea) tal cual no me parece muuy buena idea.
Ok .. no te parecerá buena idea .. pero es que sigues sin detallar los requerimientos de tu cursos ..

Aclara: se ha de ver en HTML bajo un navegador cualquiera (los curos .. su material) o podrías indicar que el usuario se "baje" (o vea el linea dependiendo si tiene instalado un visor de .doc o .pdf o el formato que uses)

Cita:
Sería factible guardar los archivos en la base como BLOB y luego poder verlos en formato HTML??
Da igual si el archivo lo dejas en la Base de datos como un BLOB (en binario) o dejas el archivo en el sistema de archivos del servidor (en un directorio) y en tu BD almacenas el nombre de tu archivo para ir a buscarlo cuando lo requieras. El problema aquí no es ese .. sino el de hacer un "conversor de .doc (MS Word original .. no RFT) o .pdf ---> HTML" .. ese es el problema!!!. Esto no es imposible .. pero no he visto "códigos" simples PHP (sólo PHP código) que hagan ese proceso .. a lo sumo "aplicaciones" externas a PHP que lo hacen y con PHP las llamas (para mandarle el archivo a procesar y obtener su resultado): Tu dispones de infraestructura (servidores bajo tu control o dedicados .. disponibilidad de hacer instalaciones ... ) y $$$ para adquirir esas aplicaciones externas que te menciono (por qué no son gratuitas la mayoría). ??????

Cuando eso lo tengas claro .. y tu única solución sea la "otra" que te propongo .. si quieres nos centramos en esa solución .. Por qué hasta el momento no me queda claro el "por qué" o mejor dicho .. si vas preguntando como hacer otro sistema de los que te proponen .. todavía no veo claro la "idea" del sistema en cuanto a que/quien y como se van a redactar esos cursos (sus lecciones).

Cita:
1.Cómo hago si quiero que el documento contenga imágenes??
Usa el botón "responder" a este mensaje . .fijate en el editor que tienes .. si te fijas tienes botones para incrustrar imagenes con otro tipo de "tag" própio (BBcode le llaman). Algo tipo:

[img ]imagen.jpg[/ img]

Cita:
2.El encargado de redactar el temario deberá tener por tanto conocimientos básicos de HTML,no??
NO, (estás mezclando y confundiento las alternativas que te presenté) .. no sé si vistes el link que te dejé sobre el "HTML Area" .. un editor DHTML "visual" que genera código HTML en el fondo .. Tu diseñas ese tutorial como si lo hicieras con una versión reducida del "Dreamweaver" y sobre una página web donde incrustres ese tipo de "textarea" avanzado.

Y .. si escojes la versión simple de usar psudo-tags própios (BBcode) .. ahí te sólo usarías unos cuantos "tag's" como los que te comenté y puedes ver aquí mismo en el foro cuando creas/respondes un mensaje por el botón "Responder" ..

Eres tu el que:

1) Explicar(nos) COMO! ha de visualizar tu alumno sus cursos (lecciones) .. En función de eso .. así tendrás que hacer un "conversor .doc o .pdf a HTML" por ejemplo .. o te sobrará con que los redactores de esos cursos (profesores?) lo hagan directamente sobre el sistema (en línea sobre una página web .. usando "HTML Area" o similares editores HTML visuales .. o usar la versión reducida de los "BBcode" ...

Un saludo,
  #12 (permalink)  
Antiguo 08/12/2005, 16:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Despues de todo el blabla bla bla .. te recomendaría ver como realmente trabajan la mayoría de sistemas de "e-learning" como los que puedes probar aquí:

http://www.opensourcecms.com/

Creo que ahí te harás una idea de todo esto y sobre todo como solventan el problema de las "lecciones" como se crean. He .. incluso te acomode alguno de esos sistemas ya hechos para simplemente usarlos.

La mayoría se basan en que los cursos o lecciones son "documentos" que se suben y son descargados por los alumnos. Cuando se habla de "documento" ... aquí no se discrimina si el contenido que aportas para un "curso" es un .pdf .. o un .doc .. o si quieres páginas HTML .html .. o tenes un .zip .. o un .exe .. o cualquier otro tipo de archivo. En esos casos afrontan el tema del "curso" como: "material que aportar" para el desarrollo del mismo .. desde la "documentación" (o teoría) hasta archivos de otros tipos para prácticas. El sistema te dá el sorporte para gestionar los cursos, alumnos, profesores y la evaluación de los mismos, .. tener foros para que interactuen profesores-alumnos .. sistemas de evaluación .. etc.

Pero .. claro ... esa es una "filosofía" .. puede que tu no quieras ofrecer nada de archivos adjuntos a un curso .. y nada que descargar . .que todo se vea "en línea" página a páigna o capitulo a capítulo de los que compongan ese "curso" ..

Un saludo,

Última edición por Cluster; 08/12/2005 a las 16:58
  #13 (permalink)  
Antiguo 08/12/2005, 17:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Estuve viendo un poco las demos de estos sistemas de "e-learning" ...

En concreto el "moodle" trabaja creando lecciones desde el própio sistema con un editor HTML visual .. Crea "páginas" para las "lecciones" .. te pide "subir" imagenes que podras llamar en esas páginas de las lecciones (tantas veces como quieras) y así compone un curso con sus "lecciones".

No los he probado todos por qué hay bastantes .. pero en fin .. ahí tienes dos modalidades de trabajo con el tema que te expuse para ver si te convence o no .. por qué el tema de realizar un conversor ".doc" o ".pdf" a HTML .. así .. "automático" .. que empiece el sitema a intentar adivinar cuantas páginas de tu ".doc" son para una lección .. o como titularlas como para hacer indices .. creo que no es viable .. a lo sumo en esas condiciones, como ya te he comentado .. que el curso en ese formato .doc o .pdf lo baje el alumno y lo vea por sus médios. Lo que si que es viable y se hace mucho es ofrecer ese contenido que has creado en HTML (con el editor visual .. sobre el mismo sistema, almacenado en tus BD o donde gustes ...) en otros formatos como: PDF .. o RTF (Ritch-Text-Format; se puede leer con MS Word, no es un ".doc" pero cumple la misma función)

Un saludo,
  #14 (permalink)  
Antiguo 08/12/2005, 17:21
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Vamos a ver si me explico.

Mi profesor(que es el que se va encargar de redatar los temas,las lecciones o como le quieras llamar y el cual no tiene ni idea de HTML)me dijo que lo ideal sería subir los archivos al servidor y que a partir de ellos cuando un alumno pinchara por ejemplo en un enlace llamado "Curso sobre php y MySQL" que el contenido(los temas) aparecieran en el navegador,en formato HTML,tal y como se ve en miles de tutoriales del web.Ahora bien,si me dices que convertir un .doc a HTML es tarea casi imposible pues le comentaré la idea de redactar los temas en línea con un editor DHTML.
´
Muchas gracias por la ayuda que me estas prestando
  #15 (permalink)  
Antiguo 08/12/2005, 17:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ok .. pero es que esos cursos que tu ves en miles de sitios en "HTML" .. están escritos en HTML.. ya sea por qué alguien lo hizo en algún editor HTML visual estilo Dreamweaver o similar .. o por qué le aplican una plantilla base (pero el texto igualmente se escribe sobre un formulario en una página del sitio) o usan un editor DHTML "visual" para generar ese HTML "sin darse cuenta".

No son subidos en un formato tipo Word o PDF al servidor -> se aplica un proceso de conversión a HTML y bajo algún convenio tipo "una página por lección" o algo así .. el proceso PHP va separando en páginas el contenido del mismo.

Les recomendaría a Uds. dos (tu y tu profesor) que vean las demos de los sistemas e-learning que les expuse .. sobre todo el que le llaman "moodle" por qué hace todo lo que van a necesitar.

Un saludo,
  #16 (permalink)  
Antiguo 08/12/2005, 18:03
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
ahhhhhhhhhhhhhhhhhhh,vale,vale!!

Pues nada,se lo pondré en conocimiento a mi profesor.

Muchisimas gracias por la ayuda prestada
  #17 (permalink)  
Antiguo 09/12/2005, 08:36
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
Te recomiendo moodle.
Ya que no es necesario que reinventes la rueda.
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #18 (permalink)  
Antiguo 09/12/2005, 10:50
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
jajaja despues de leer esto........ ya casi me keria tirar de mi apartamento................ pero dije, calmate man, este chico "ROBANDROX", pos me imgino q esta empezando, y pos tiene muchas dudas. pero igual man, documentate un poco.......... para que no se desgaste el pobre CLUSTER. pork igual, me imagino que despues de esto, el pobre hombre ya se habra terminado una caja completa de aspirina............. jejejje...
si el moodle, es bueno, aqui en el Instituto Tecnologico de Cancun, donde estudio yop... jeeje lo usamos, y pues ahi va.........
saludos man....... recuerda que CLUSTER es para todos.
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 08:45.