Arkadaşlar sql kodunda Türkçe kategorisinde Türkçe 1 dersinin 2019 yılı için oluşturulan online testine eklenen soruları listeliyorum.
Sql kodu:
$sql = $db->prepare("SELECT id, ad FROM dersListesi WHERE id = ".$donemId);
$sql->execute();
$fafe = $sql->fetch(PDO::FETCH_ASSOC)['ad'];
$sql = $db->prepare("SELECT * FROM testSorular INNER JOIN testListesi on testListesi.id = testSorular.test_id WHERE testSorular.test_id = ?");
$sql->execute(array($testId));
$liste = $sql->fetchAll(PDO::FETCH_ASSOC);
$title = $liste[0]['ad'];
Fakat ben şöyle bir şey yapmak istiyorum.
Türkçe kategorisinde Türkçe 1 dersinin 2018 yılı ve 2019 yılında yer alan toplam 5 testin her biri 20 sorudan oluşuyor ve toplam 100 sorudan ibaret bende bunun rastgele 9 sorudan oluşmasını nasıl sağlarım?
Rastgele 9 veriyi nasıl çekerim?
2
●98
- 06-10-2023, 10:16:12
$sql = $db->prepare(" SELECT testSorular.id, testSorular.soru_metni FROM dersListesi INNER JOIN testListesi ON dersListesi.id = testListesi.ders_id INNER JOIN testSorular ON testListesi.id = testSorular.test_id WHERE dersListesi.ad = 'Türkçe 1' AND YEAR(testListesi.olusturma_tarihi) IN (2018, 2019) ORDER BY RAND() LIMIT 9 "); $sql->execute(); $secilenSorular = $sql->fetchAll(PDO::FETCH_ASSOC); - 06-10-2023, 13:27:18hocam sql kodlarım şu şekilde
<?php
include "./appy/connectPDO.php";
$testId = $_GET['testId'];
$donemId = $_GET['donemId'];
$bolumId = $_GET['bolumId'];
$backUrl = '/uygulama/test-sec.php?donemId='.$donemId.'&bolumId='.$bolumId;
$sql = $db->prepare("SELECT id, ad FROM dersListesi WHERE id = ".$donemId);
$sql->execute();
$fafe = $sql->fetch(PDO::FETCH_ASSOC)['ad'];
$sql = $db->prepare("SELECT * FROM testSorular INNER JOIN testListesi on testListesi.id = testSorular.test_id WHERE testSorular.test_id = ?");
$sql->execute(array($testId));
$liste = $sql->fetchAll(PDO::FETCH_ASSOC);
$title = $liste[0]['ad'];
?>
Burada ders listesinden
Örnek olarak admin panelden oluşturduğum 2018 yılı 1. dönem de çıkmış olan 20 soru ile test çözüyorlar. 2019 yılı için olan da var 2020 yılı olanda var.
Türkçe -> Türkçe 1 -> 2018 yılı 1. dönem
Benim yapmak istediğim ise
Türkçe -> Türkçe 1 -> Rastgele
Burada yapmak istediğim 2018 yılı 2019 yılı ve 2020 yıllarından rastgele çıkmasını sağlamak