IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

bdd pour qcm (demande de conseils)


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 90
    Par défaut bdd pour qcm (demande de conseils)
    Bonjour, je voudrai faire une base de donné pour pouvoir generer des qcm sur différente matière?

    Bon, tout d'aobrd, je vais vous expliquer ce que je souhaiterai faire pour le moment: une interface pour pouvoir entrer les énoncés et les reponses (voir les comentaire). En effet, je vais en avoi plusiers centaines a faire, peut être plusieurs milliers) et je sohaiterai donc ne pas avoir a faire ça via phpmyadmin (ou son équivalent sqlite).

    Pour les qcm, voila comment ils se présentent:
    ils ont:
    —une énoncées
    —5 item (choix) avec un ou plusieurs de correctes).
    —R reponse boolèene (vrai/faux pour chaque items: 5 items => 5 réponses ^^)
    —des fois des commentaire associés au items.
    —une matière (physique, chimie, hématologie ect...)

    bon, il faudrait bien sur leur fournir un identifiant, pour pouvoir les différencier.

    Je voudrai pouvoir au final générer sur demande une série de qcm choisis au hasard dans la base de donnée (mais sur une matière quoi).

    J'aimerai directement savoir quelle structure je dois prévoir, car sinon quand j'aurai déjà enregistré plein de données, ça sera un peu tard pour tout cyhanger.

    Je pense que je dois utiliser des charnières, et aussi une table auto incrémente.

    Considérant qu'une fois que j'aurai fait les enregistrement, il n'y aura plus de modification de la base de donnée (sauf si de temps en temps j'en rajoute mais bon ^^), je crois qu'une base sqlite serai plus approprié que mysql (j'ai php 5 donc pas de problème). J'ai entendu dire que la première pouvait être deux a trois fois plus rapide pour des requète ayant beaucoup plus souvent des select que des insert (ce qui sera le cas).

    Je vous remercie pour votre aide.

    (si vous pouviez, en plus de me dire la structure, me la faire et me la sauver pour que je puisse "importer" la base de donnée directement, ça serai très gentil. (Je n'arrive pas a faire de champ auto incrémente, ni en sqlite, ni en mysql, le premier ne faisant rien(champ vide) et le second me générant une erreur, avec phpmyadmin)).

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Une table avec ces colonnes devrait suffire:

    Id, Matiere, Intitulé Question, IntituleReponse[1..5], Reponse[1...5]

    Id est en auto incrément (c'est une des options de la table dans phpMyAdmin, quand tu crées ta table, tu choisis auto_increment pour Id (dans Extra)).

    Tu ajoutes dans ton interface les questions dans ta table (quelle que soit la matière) et dans ton autre script tu fais une selection de questions aléatoirement selon la matiere, CF ORDER BY Rand() que j'ai découvert la : http://www.developpez.net/forums/sho...d.php?t=340436)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 90
    Par défaut
    bon, j'essai de m'en sortir, mais je n'y arrive pas.
    Tout d'abord j'utilise sqlitemanager.
    Je ne sais pas si ça viens de moi, mais il m'a sortit ça:

    INSERT INTO qcm ( id , titre , annee , item_a , item_b , item_c , item_d , item_e , rep_a , rep_b , rep_c , rep_d , rep_e , com_a , com_b , com_c , com_d , com_e )
    VALUES ( 1 , 'a' , b , 'c' , 'd' , 'e' , 'f' , 'g' , h , i , j , k , l , 'm' , 'n' , 'o' , 'p' , 'q' )

    Bon, (oui , je n'ai pas mis la matière, mais c'est une erreur, je la corrigerai qund j'aurai réglé celle là).
    Il me dit: Erreur : no such column: b

    Effectivement, il n'a pas entouré le b d'apostrophe. Ni le h, le i, le j, le k, et le l. Mais les autres si. Est-ce que ma version de ce logiciel et deffecteuse? Ou est-ce moi?

    Pour le champs, j'ai utilisé longtext comme type. Est-ce trop? pas assez?

    Sinon, je ne comprend pas non plus comment je suis censé gerer mes bases de donnée, coté import export (j'importe une bdd que je viens de creer avec juste dedans la table "qcm" et il me sors plein d'autre table qui devraient se trouver sur une autre base de donnée.).

    Je ne sais pas si ça viens de moi.

    Est e que vous pourriez faire un fichier contenant la base de donnée (je veux dire: la structure, avec des champs d'une taille correcte)? je sais que vous n'êtes pas censée "dépanner" comme ça directement, et que je devrai me débrouiller par moi même, mais ça ne vous prendrai pas longtemps, et là j'y arrive pas.

    Merci

    (sinon, tous les conseils sont les bienvenus ^^)

Discussions similaires

  1. [AC-2007] BDD pour QCM, faire un état aléatoire des questions
    Par micapillote dans le forum IHM
    Réponses: 2
    Dernier message: 29/11/2009, 21h31
  2. [Conception] Demande de conseil pour validation de commentaires
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 20/12/2005, 14h58
  3. Réponses: 16
    Dernier message: 15/11/2005, 20h07
  4. Demande de conseil pour migration de lignes vers colonnes
    Par ririd dans le forum Administration
    Réponses: 6
    Dernier message: 04/11/2004, 17h02
  5. [sqlbaseserver]demande de conseils/aides pour requêtes
    Par GéniuS77 dans le forum Langage SQL
    Réponses: 14
    Dernier message: 18/03/2004, 17h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo