Ajout de requêtes oracle dans sqlite + comparaison de leurs resultats avec celui de l'utilisateur

master
Mehdi 5 years ago
parent 09672c670d
commit b840cf12ab

@ -15,28 +15,76 @@ else {
echo 'conn SUCCCESSSS';
}*/
$cmpt = 0;
$i = 0;
$numQuestion = 0;
foreach ($_POST['textbox'] as $textbox) {
$i++;
$oracleQuery = oci_parse($conn, $textbox);
$reponseUser = oci_execute($oracleQuery);
$numQuestion++;
$UserQuery = oci_parse($conn, $textbox);
$reponseUser = oci_execute($UserQuery);
$sqliteQuery = $db->prepare('SELECT reponse FROM Correct WHERE rowid= ? ');
$sqliteQuery->bindParam(1, $i);
$sqliteQuery->bindParam(1, $numQuestion);
$result = $sqliteQuery->execute();
$sqliteRow = $result->fetchArray();
$vraiReponse = oci_parse($conn, $sqliteRow['reponse']);
$enAttente = oci_execute($vraiReponse);
/*$spool = $db->prepare('SPOOL ? ');
$spool->bindParam(1, 'jytdj');
$result = $spol->execute();
$fileUser = fopen("fileus.txt","w");*/
$err = 0;
$verif =0;
while(($oracleRow = oci_fetch_array($oracleQuery, OCI_BOTH)) && ($sqliteRow = $result->fetchArray())){
echo 'oracle = ' . $oracleRow[0] . ' sqliet = ' . $sqliteRow[0] . '\n';
if ($sqliteRow['reponse'] == $oracleRow[0]) {
echo "La réponse à la question n° " . $i . " est JUSTE\n";
$cmpt++;
} else {
echo 'La réponse à la question n° ' . $i . " est FAUSSE\n\n";
while( ($oracleRow = oci_fetch_array($UserQuery, OCI_NUM)) && $err == 0 ){
$verif = 1;
$vraiReponseRow = oci_fetch_array($vraiReponse,OCI_NUM );
/*echo oci_num_rows($UserQuery) . " lignes insérées.<br />\n";
echo oci_num_rows($vraiReponse) . " lignes insérées sqlite.<br />\n";*/
if(oci_num_rows($UserQuery) != oci_num_rows($vraiReponse)){
$err=-3;
break;
}
if(sizeof($oracleRow) == sizeof($vraiReponseRow)){
/*foreach($vraiReponseRow as $key => $value)
{
echo $key." has the value " . $value ."\n";
}
foreach($oracleRow as $key => $value)
{
echo $key." BLASE the value " . $value ."\n";
}*/
for($i=0 ; $i< sizeof($vraiReponseRow)-1 ; $i++){
if($oracleRow[$i] != $vraiReponseRow[$i]){
$err = -1;
break;
}
}
}
else {
$err = -2;
break;
}
/*for($i=0 ; $i< sizeof($vraiReponseRow)-2 ; $i++){
echo $vraiReponseRow[$i];
fwrite($fileUser,$vraiReponseRow[$i] . "\t");
}
fwrite($fileUser, "\n");*/
/* echo 'vrai ' . $vraiReponseRow[0] . ' || ora = ' . $oracleRow[0] . "\n";
if ($vraiReponseRow[0] == $oracleRow[0]) {
echo "La réponse à la question n° " . $i . " est JUSTE\n";
$cmpt++;
} else {
echo 'La réponse à la question n° ' . $i . " est FAUSSE\n\n";
}*/
}
if($err == 0 && $verif==1){
echo "La réponse à la question " .$numQuestion. " est JUSTE ! \n";
$cmpt++;
}
else echo "La réponse à la question " .$numQuestion. " est FAUSSE ! \n";
}
echo 'Résultat ' . $cmpt . '/' . $i;
echo 'Résultat : ' . $cmpt . '/' . $numQuestion;

@ -9,11 +9,37 @@ class SqliteDb extends SQLite3
}
function createTable(){
//Création De La Table
$this->exec('DROP TABLE Correct');
$this->exec('CREATE TABLE Correct ( question STRING, reponse STRING)');
$this->exec("INSERT INTO Correct VALUES ('Trouver le nombre de matchs joués par Kevin Durant', '68')");
//$this->exec("INSERT INTO Correct VALUES ('Ceci est la question 2 ', 'r1')");
$this->exec("INSERT INTO Correct VALUES ('Lister le(s) joueur(s) ayant joué le plus de match pendant la saison ', 'r2')");
//Question 1
$test = 'SELECT count(*) FROM stats WHERE prenomnoms=\'Kevin Durant\' ';
$q = "INSERT INTO Correct VALUES ('Trouver le nombre de matchs joués par Kevin Durant', ? )";
$stmt = $this->prepare($q);
$stmt->bindParam(1,$test);
$stmt->execute();
//Question 2
$test = ' SELECT prenomnoms,datematch,points,equipeadverse FROM stats WHERE points = (SELECT max(points) FROM stats)';
$q = "INSERT INTO Correct VALUES ('Lister le(s) joueur(s) ayant marqué le plus de points dans la saison en indiquant son nom, la date du match, le nombre de points, l équipe adverse et le nombre de points marqués ', ? )";
$stmt = $this->prepare($q);
$stmt->bindParam(1,$test);
$stmt->execute();
//Question 3
$test = ' SELECT prenomnoms, COUNT(*) FROM stats GROUP BY prenomnoms HAVING count(*) = (SELECT MAX(c) FROM (SELECT COUNT(*) AS c FROM stats GROUP BY prenomnoms))';
$q = "INSERT INTO Correct VALUES ('Lister le(s) joueur(s) ayant joué le plus de match pendant la saison', ? )";
$stmt = $this->prepare($q);
$stmt->bindParam(1,$test);
$stmt->execute();
//Question 5
$test = 'SELECT * FROM equipe WHERE nom= \'Hawks\' ';
$q = "INSERT INTO Correct VALUES ('Déterminer pour Kevin Durant pour le match du 30-oct-17 quelle est l équipe qui joue à domicile', ? )";
$stmt = $this->prepare($q);
$stmt->bindParam(1,$test);
$stmt->execute();
}
}

Binary file not shown.
Loading…
Cancel
Save