Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » Le coin des codeurs » » Mauvais script mais ou ?
AuteurMauvais script mais ou ?
oim
1453       
 

oim
  Posté : 20-12-2007 19:44

Bonjour, j'essaye de faire un module de quiz à palier (si le qui est réussi, le membre a acces au suivant sinon il doit attendre un certain tps pour rejouer le quiz raté).

Pour tous ce qui touche au quiz, le module fonctionne bien.

Ce que je n'arrive pas à faire fonctionner (à moitié), c'est le tableau de présentation qui permet au membre de voir ou il en est, capture : http://img175.imageshack.us/my.php?image=capture3zx6.png
C'est la colonne "jouer" qui ne fonctionne pas correctement, mais je pense que ca vient du script tout entier qui est mal fait. Le problème c'est qu'il ne différencie pas les catégories et le lien jouer amène au même quiz.

Actuellement il est comme ca :



//DEBUT INDEX//
function quiz()
{

    global $cookie, $ModPath, $NPDS_Prefix, $ThisFile, $menu;

    Opentable();

    echo ''.$menu.''

    .'<table width="90%" cellspacing="5" cellpadding="3" border="0" align="center">'
    .'<tr>'
    .'<td class="quiz_menu" colspan="4">'.quiz_trad('Liste des catégories').'</td>'
    .'</tr>'

    .'<tr>'
    .'<td class="quiz_legende" colspan="4" align="center">'
    .'<img src="modules/'.$ModPath.'/images/reussi.gif" title="'.quiz_trad('Reussi').'" /> Quiz réussi  '
    .'<img src="modules/'.$ModPath.'/images/echec.gif" title="'.quiz_trad('Raté').'" /> Quiz raté  '
    .'<img src="modules/'.$ModPath.'/images/afaire.gif" title="'.quiz_trad('A faire').'" /> Quiz à faire'
    .'</td>'
    .'</tr>'
 
    .'<tr class="quiz_trois" align="center">'
    .'<td width="25%">'.quiz_trad('Catégorie').'</td>'
    .'<td width="15%">'.quiz_trad('Nbre de quizs').'</td>'
    .'<td width="30%">'.quiz_trad('Votre situation').'</td>'
    .'<td width="30%">'.quiz_trad('Jouer').'</td>'
    .'</tr>';

    /*liste les categories*/
    $result=sql_query("select id_cat, titre, temps from ".$NPDS_Prefix."quiz_cate where cat_ligne='1' order by titre ASC");
    while (list($id_cat, $titre, $temps)=mysql_fetch_row($result))
    {

        /*ID des quiz par rapport a la categorie*/
        $res=sql_query("select id from ".$NPDS_Prefix."quiz where id_cat='$id_cat' and en_ligne='1' order by ordre asc");
        $count = mysql_num_rows($res);


        echo '<tr class="quiz_deux">'
        .'<td>'.aff_langue(''.$ titre.'').'</td>'
        .'<td align="center">'.$count.'</td>'
        .'<td>';

        /*resultat des quiz pour le membre*/
        $res1=sql_query("select etat,time,score,id_quiz,id_cat from ".$NPDS_Prefix."quiz_visiteur where pseudo='$cookie[1]' and id_cat='$id_cat' order by id_quiz asc");
        $count1 = mysql_num_rows($res1);

        /*liste ID des quiz*/
        while (list($id)=mysql_fetch_row($res))
        {

            /*lis te resultat des quiz*/
            list( $etat,$time,$score,$id_quiz,$sid_cat)=mysql_fetch_row($res1);
            if ($id==$id_quiz)
            {

              ;   /*si dans la base le champ score est rempli*/
              ;   if ($score)
              ;   {

              ;       /*Quiz reussi*/
              ;       echo '<img src="modules/'.$ModPath.'/images/reussi.gif" title="'.$id.'" /> ';

              ;   }
              ;   else
              ;   {

              ;       /*Quiz rate - 2 possibilites*/
              ;       echo '<img src="modules/'.$ModPath.'/images/echec.gif" title="'.$id.'" /> ';

              ;       /*Si le timestamp est inferieur au tps de punition (champ temps ds categorie)*/
              ;       $now = time();
              ;       $time_end = $time + ($temps*60); // * 60 secondes
              ;       $diff = $time_end-$now;
              ;       if(time() < $time_end)
              ;       {

              ;           /*lien pour le 3eme TD*/
              ;           $tess = ''.quiz_trad('Fin de punition dans').' '.date('i', $diff).' '.quiz_trad('minutes').'';

              ;       }
              ;       else
              ;       {

              ;           /*lien pour le 3eme TD*/
              ;           $tess = '<a href="'.$ThisFile.'&subop=jouer&sid='.$id.'&id_cat='.$id_cat.'"> '.quiz_trad('Jouer').'</a>';

              ;       }

              ;   }

            }
            else
            {

              ;   /*Affiche les quiz pas encore joué*/
              ;   echo '<img src="modules/'.$ModPath.'/images/afaire.gif" title="'.$id.'" /> ';

$tr=$count1+1;
              ;   /*Affiche l'ID des quiz non joués*/
              ;   $result10=sql_query("select id from ".$NPDS_Prefix."quiz where id_cat='$id_cat' order by ordre asc limit 0,$tr");
              ;   while (list($sid)=mysql_fetch_row($result10))
              ;   {

              ;       if ($sid)
              ;       {

              ;           /*lien pour le 3eme TD*/
              ;           $tess1 = '<a href="'.$ThisFile.'&subop=jouer&sid='.$sid.'&id_cat='.$id_cat.'"> ;'.quiz_trad('Jouer1').'</a>';

              ;       }
              ;       else
              ;       {

              ;           /*lien pour le 3eme TD*/
              ;           $tess1 =''.quiz_trad('terminé').'';

              ;       }
              ;   }

            }
            
        }

        echo '</td>'
        .'<td align="center">';

        if ($tess)
        {

            echo ''.$tess.'';

        }
        else
        {

            echo ''.$tess1.'';

        }

        echo '</td>'
        .'</tr>';

    }

    echo '</table>';

    Closetable();

}
//FIN INDEX//



Si vous avez une idée, merci !

  Profil  www  
developpeur
24581       
 

developpeur
  Posté : 20-12-2007 22:39

trop complexe à lire.

Tu paut pas extraire juste l'algorithme ?

  Profil  E-mail  www  
Sauter à :

Temps : 0.0128 seconde(s)