diff --git a/GamePedia/php/Script_TD3b.php b/GamePedia/php/Script_TD3b.php
index 46e70510f5e7f58af16767832bf33440d38e95ea..40bc5b8fd70ec1985e83d4fd4bea2960155a306f 100644
--- a/GamePedia/php/Script_TD3b.php
+++ b/GamePedia/php/Script_TD3b.php
@@ -22,16 +22,21 @@ echo ("<!DOCTYPE html>
             <h2> Consignes : </h2>
             <p> Pour chaque requête, mettre le paramètre dans l'url ?requete='Numero de la requete'</p>
             </div>");
-if(isset($_GET['requete']) && $_GET['requete']>0 && $_GET['requete']<=5) {
+if(isset($_GET['requete']) && $_GET['requete']>0 && $_GET['requete']<=6) {
     echo "<div><center>";
     $nb = $_GET['requete'];
     $c = new ControleurScript();
     $c->setLog(true);
     $function = 'td3_q'. $nb .'b';
     $res = $c->$function();
-//    foreach ($res as $item){
-//        echo "<p>$item->name</p>";
-//    }
+    if($res != null) {
+        foreach ($res as $item) {
+            if($nb!=6)
+                echo "<p>$item->name</p>";
+            else
+                echo "<p>$item</p>";
+        }
+    } else echo "<p>Aucun résultat</p>";
     echo "</center></div>";
     echo "<div>";
     echo $c->getLog();
diff --git a/GamePedia/php/script_TD1.php b/GamePedia/php/script_TD1.php
index ce837f8d415c73cab1d33fde7390a73286f0410a..50cf660c0a3f3498dbbdab108f84ec8acd04568e 100644
--- a/GamePedia/php/script_TD1.php
+++ b/GamePedia/php/script_TD1.php
@@ -1,6 +1,6 @@
 <?php
 
-require_once __DIR__ . '../vendor/autoload.php';
+require_once dirname (__DIR__) . '/vendor/autoload.php';;
 session_start();
 
 use \Slim\Slim as Slim;
@@ -9,7 +9,7 @@ use \gp\controleurs\ControleurPrincipal as ControleurPrincipal;
 use \gp\controleurs\ControleurScript as ControleurScript;
 
 $db = new DB();
-$db->addConnection(parse_ini_file('./conf/conf.ini'));
+$db->addConnection(parse_ini_file('../conf/conf.ini'));
 
 $db->setAsGlobal();
 $db->bootEloquent();
diff --git a/GamePedia/src/controleurs/ControleurScript.php b/GamePedia/src/controleurs/ControleurScript.php
index bdf532e94ab30cc7d14e067276077f8600c515df..43b2f99fddcc4216ca030e2dcd84551dcaeb36fb 100644
--- a/GamePedia/src/controleurs/ControleurScript.php
+++ b/GamePedia/src/controleurs/ControleurScript.php
@@ -248,7 +248,7 @@ class ControleurScript
     }
 
     public function td3_q1b(){
-        return Game::where('name','like','%Mario%')->get();
+        return Game::where('name', 'like','%Mario%')->get();
     }
 
     public function td3_q2b(){
@@ -257,26 +257,54 @@ class ControleurScript
 
     public function td3_q3b(){
         $res = null;
-        $games = Game::where('name','like','%Mario%')->get();;
-        foreach ($games as $game)
-            echo "<p>$game->name</p>";
-            $characters = $game->characters()->get();
-        foreach ($characters as $character){
-            echo "<p>$character->name</p>";
-            $first = $character->games()->orderBy('original_release_date', 'asc')->first();
-            if($first != null && str_contains(strtolower($first->name),'mario'))
+        $q = Game::where('name', 'like', "%Mario%")->get();
+        foreach ($q as $game) {
+            $list = $game->characters()->get();
+            foreach ($list as $character)
+                $first = $character->games()->orderBy('original_release_date', 'asc')->first();
+                if($first != null && str_contains(strtolower($first->name),'mario'))
                 $res[] = $character;
         }
+        $res = array_unique((array)$res);
         return $res;
     }
 
     public function td3_q4b(){
-        $characters = $this->td3_q1b()->characters()->get();
-        return $characters;
+        $q = Game::where('name', 'like', "Mario%")->get();
+        foreach ($q as $game) {
+            $characters = $game->characters()->get();
+            foreach ($characters as $char)
+                $res[] = $char;
+        }
+        $res = array_unique((array)$res);
+        return $res;
     }
 
     public function td3_q5b(){
-        return Company::where('name','like', '%Sony%')->get()->games();
+        $res = null;
+        $comps = Company::where('name','like', '%Sony%')->get();
+        foreach ($comps as $comp) {
+            $games = $comp->games()->get();
+            foreach ($games as $game) $res[] = $game;
+        }
+        $res = array_unique((array)$res);
+        return $res;
+    }
+
+    public function td3_q6b(){
+        $res = null;
+        $results = DB::table('game')
+            ->select(DB::raw('group_concat(character.name) as names'))
+            ->join('game2character', 'game.id', '=', 'game2character.game_id')
+            ->join('character', 'game2character.character_id', '=', 'character.id')
+            ->whereRaw('`game`.`name` like \'%Mario%\'')
+            ->groupBy('game.name')
+            ->get();
+        foreach ($results as $result) {
+            $names = explode(',', $result->names);
+            foreach($names as $name) $res[] = $name;
+        }
+        return $res;
     }
 
     public function allGame(){