Narzędzia użytkownika

Narzędzia witryny


bazatestypytania

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
bazatestypytania [2013/04/11 14:39]
zozlak
bazatestypytania [2015/04/30 13:19]
zozlak
Linia 2: Linia 2:
 ====== Wyszukiwarka testów arkuszy i pytań ====== ====== Wyszukiwarka testów arkuszy i pytań ======
 <PHP> <PHP>
- require_once('​/​var/​www/​ewd/​php/​funkcje.php'​);​ + require_once('​../php/BankZadan/​testy_pytania.php'​);​
- require_once('/​var/​www/​ewd/php/sql.php'​);​ +
- qp(); +
- +
- echo('<​form action=""​ method="​post">'​);​ +
- echo('<​label>​Rok realizacji testu '); +
- text('​pyt_test_rok',​ zp('​pyt_test_rok'​));​ +
- echo('<​/label><​br/>'​);​ +
- echo('<​label>​Rodzaj testu '); +
- select('​pyt_test_rodzaj',​ zp('​pyt_test_rodzaj'​),​ array('','​sprawdzian','​egzamin gimnazjalny','​matura','​matura poprawkowa','​zrównywanie'​),​ ''​);​ +
- echo('</​label><​br/>'​);​ +
- echo('<​label>​Opis testu '); +
- text('​pyt_test_opis',​ zp('​pyt_test_opis'​));​ +
- echo('</​label><​br/>'​);​ +
- echo('<​label>​Kod arkusza egzaminacyjnego '); +
- text('​pyt_test_arkusz',​ zp('​pyt_test_arkusz'​));​ +
- echo('</​label><​br/>'​);​ +
- echo('<​label>​Opis pytania (także numer w teście) '); +
- text('​pyt_opis',​ zp('​pyt_opis'​));​ +
- echo('</​label><​br/>'​);​ +
- submit('​szukaj_pyt',​ '​szukaj pytań'​);​ +
- submit('​szukaj_test',​ '​szukaj testów'​);​ +
- echo('</​form>'​);​ +
- +
- $warunek='';​ +
- if(zp('​pyt_test_rok'​)!=''​) +
- $warunek.="​ AND date_part('​year',​ CASE data_egzaminu IS NULL WHEN true THEN data ELSE data_egzaminu END)="​.zpi('​pyt_test_rok'​);​ +
- if(zp('​pyt_test_rodzaj'​)!=''​) +
- $warunek.="​ AND CASE t.opis IS NOT NULL WHEN true THEN t.opis ELSE rodzaj_egzaminu||';'​||czesc_egzaminu END LIKE '"​.zps('​pyt_test_rodzaj'​).";​%'";​ +
- if(zp('​pyt_test_opis'​)!=''​) +
- $warunek.="​ AND CASE t.opis IS NOT NULL WHEN true THEN t.opis ELSE rodzaj_egzaminu||';'​||czesc_egzaminu END ILIKE '​%"​.zps('​pyt_test_opis'​)."​%'";​ +
- if(zp('​pyt_test_arkusz'​)!=''​) +
- $warunek.="​ AND t.arkusz ILIKE '​%"​.zps('​pyt_test_arkusz'​)."​%'";​ +
- if(zp('​pyt_opis'​)!=''​ && isp('​szukaj_pyt'​)) +
- $warunek.="​ AND p.opis ILIKE '​%"​.zps('​pyt_opis'​)."​%'";​ +
- if($warunek!=''​) +
- $warunek="​ WHERE "​.mb_substr($warunek,​ 4); +
-  +
- if(isp('​szukaj_test'​)){ +
- $testy=qzw("​SELECT * FROM testy t LEFT OUTER JOIN arkusze USING (arkusz)"​.$warunek."​ ORDER BY data, data_egzaminu,​ arkusz, opis"​);​ +
- echo('<​h2>​Znalezione testy</​h2>'​);​ +
- echo('<​table><​thead><​tr><​th>​id testu</​th><​th>​opis</​th><​th>​arkusz</​th><​th>​data</​th></​tr></​thead><​tbody>'​);​ +
- foreach($testy as $i){ +
- $i['​data'​]= $i['​data'​]!=''​ ? $i['​data'​] : $i['​data_egzaminu'​];​ +
- $i['​opis'​]= $i['​opis'​]!=''​ ? $i['​opis'​] : $i['​rodzaj_egzaminu'​].';'​.$i['​czesc_egzaminu'​];​ +
- echo('<​tr><​td>'​.zh($i['​id_testu'​]).'</​td><​td>'​.zh($i['​opis'​]).'</​td><​td>'​.zh($i['​arkusz'​]).'</​td><​td>'​.zh($i['​data'​]).'</​td></​tr>'​);​ +
-+
- if(count($testy)==0) +
- echo('<​tr><​td colspan="​4">​Nie znaleziono żadnego testu spełniającego podane kryteria</​td></​tr>'​);​ +
- echo('</​tbody></​table>'​);​ +
-+
- else if(isp('​szukaj_pyt'​)){ +
- $pytania=qzw("​SELECT DISTINCT id_pytania, p.opis, tresc IS NOT NULL AS czy_tresc FROM pytania p LEFT OUTER JOIN testy_pytania ​USING (id_pytania) LEFT OUTER JOIN testy t USING (id_testu) LEFT OUTER JOIN arkusze USING (arkusz)"​.$warunek."​ ORDER BY 2, 1"); +
- echo('<​h2>​Znalezione pytania</​h2>'​);​ +
- echo('<​table><​thead><​tr><​th>​id pytania</​th><​th>​opis</​th><​th></​th></​thead><​tbody>'​);​ +
- foreach($pytania as $i){ +
- echo('<​tr><​td>'​.zh($i['​id_pytania'​]).'</​td><​td>'​.zh($i['​opis'​]).'</​td><​td>'​.($i['​czy_tresc'​]=='​t'​ ? '<a href="​pobierzTresc.php?​id_pytania='​.$i['​id_pytania'​].'">​treść</​a>'​ : ''​).'</​td></​tr>'​);​ +
-+
- if(count($pytania)==0) +
- echo('<​tr><​td colspan="​4">​Nie znaleziono żadnego pytania spełniającego podane kryteria</​td></​tr>'​);​ +
- echo('</​tbody></​table>​'); +
- }+
 </​PHP>​ </​PHP>​
bazatestypytania.txt · ostatnio zmienione: 2015/04/30 13:19 przez zozlak