michelvernet2
Messages postés62Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention23 octobre 2012
-
16 janv. 2004 à 15:33
perig
Messages postés358Date d'inscriptionvendredi 1 novembre 2002StatutMembreDernière intervention 5 septembre 2006
-
16 janv. 2004 à 18:17
bonjour,
j'ai une table ETUDIANT composée des variables $A, $B, $C . cette table contient 30 lignes.
j'ai une table REPONSES composée de svariables $RA, $RB, $RC. cette table ne contient qu'une ligne
je veux comparer ces 2 tables enregistrement par enregistrement et variable par variable et calculer:
si $A = $RA alors { si $A est vide ... rien ne se passe ... ELSE POINTS=POINT + 1 }
si $A != $RA alors { si $A est vide ... rien ne se passe ... ELSE POINT=POINT-1 }
je ne sais pas si c'est clair,... MAIS COMMENT LE FAIRE SIMPLEMENT, Existe t il une fonction de comparaison qui puisse faire ça ?
perig
Messages postés358Date d'inscriptionvendredi 1 novembre 2002StatutMembreDernière intervention 5 septembre 2006 16 janv. 2004 à 18:17
Voila une solution :
Mais pour que ca marche il faut:
Que laTable REPONSE ne contienne que des réponses
La table est de la forme : RA | RB | RC | RD |
Que la table ETUDIANT présente en premier les réponses aux questions (autant de réponses que de questions)
La table est de la forme : A | B | C | D | Ce que tu veux (NOM de l'étudiant,...)
ensuite pour faire la correction tu fais:
<?
include("Mysql_Fonc.php3");
// connections a la base
Connexion();
//récupération des réponses du prof
$Requete="SELECT * FROM `REPONSES`"; //préparation de la requete
$All=Executer($Requete); //exécution de la requete
$RLigne=mysql_fetch_array($All,MYSQL_ASSOC); //on met le résultat sous forme de tableau
//récupération des réponses des etudiants
$Requete="SELECT * FROM `ETUDIANT`"; //préparation de la requete
$All=Executer($Requete); //execution de la requete
//pour chaque étudiant on crée un tableau et on calcul le nb de bones réponses
while ($Ligne=MYSQL_FETCH_ARRAY($All,MYSQL_ASSOC))
{
$Point=0;//initialisation du nb de points
reset($Ligne); //se place sur le 1er élément des réponses etudiant
reset($RLigne); //se place sur le 1er élement des réponses prof
//tant qu'il y a des réponses prof on boucle
while(pos($RLigne))
{
//pour chaque réponse éleve on compare avec la réponse prof et on incrémente le nb de point si c'est ok
if(pos($Ligne)==pos($RLigne))
{
$Point++;
}
next($RLigne); //passage a la réponse prof suivante
next($Ligne); //passage a la réponse etudiante suivante
}
print $Point."
"; // affichage du nb de point pour chaque étudiant
}
?>
avec dans Mysql_Fonc.php3 :
<?php
function Executer($Requete)
{
/* Adressage d'une requete a MYSQL */
function Connexion()
{
/* Connection a la base MYSQL */
$SERVEUR='XXX';//serveur
$NOM='XXX'; //login
$PASSE='';//mot de passe
$BASE='XXX';//nom de la base
$Db=mysql_connect($SERVEUR,$NOM,$PASSE);
mysql_select_db($BASE,$Db);
}
?>
voila c'est ca que tu veux?
---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)