2010-07-05 4 views
1

J'essaye de faire une webapp. L'application que je me fais pour aider avec des traductions de langues étrangères pour les cours à mon collège, et j'espère le rendre disponible en ligne. Toutes les données que le site enregistre est dans un format comme:Meilleure façon de gérer les fichiers utilisateur côté serveur?

section 1 
    foreign text 
    translated text 
section 2 
    foreign text 
    translated text 

L'application repose sur javascript et jquery, donc je pensais JSON serait un bon format pour les données. J'ai un système d'utilisateur de base mis en place, j'ai juste besoin de savoir la meilleure façon de gérer les projets. Ce qui semble le plus simple est d'avoir un répertoire sur mon site dans lequel il y a un dossier pour chaque utilisateur. Le dossier de chaque utilisateur aurait un fichier individuel pour chaque projet qu'ils ont fait. Dans la boîte de dialogue de chargement, php imprime la liste des fichiers dans le répertoire de l'utilisateur afin de créer une liste de projets sauvegardés.
Je ne crois pas que ce soit la meilleure solution; Je suis en quelque sorte le piratage ensemble que je vais le long. Un fichier json géant pour chaque utilisateur serait-il préférable, ou juste une douleur à coder?

Répondre

3

Je mettrais tout dans une base de données et non dans des fichiers individuels.

Y a-t-il une raison pour laquelle vous ne pouvez pas utiliser une base de données?

Exemple:

La configuration simple de base avec une base de données serait quelque chose avec 2 tables:

Utilisateurs:

  • user_id
  • nom
  • etc.

Textes:

  • PROJECT_ID
  • user_id
  • foreign_text
  • translated_text

Lorsque le foreign_text et translated_text sont de type text.

+0

Je ne savais pas que vous pouviez entrer de grandes quantités de données dans une base de données. J'utilise MySQL, des informations sur la façon de faire cela? – DavidR

+2

L'utilisation d'une base de données rendra tout ce que vous essayez de faire extrêmement simple. Chaque "section" (foreign - translated) pourrait être une ligne dans une table 'sections', avec l'identifiant du projet auquel elle appartient. De même, une table 'projects' contiendrait l'ID utilisateur auquel elle appartient. Et enfin une table 'users' avec les détails de l'utilisateur. Il vous suffit maintenant de sélectionner tous les projets pour un utilisateur donné, puis toutes les sections d'un fichier de projet lorsque l'utilisateur ouvre un fichier. – casablanca

Questions connexes