<!DOCTYPE html>
<head>
    <meta charset="UTF-8" />
    <title>ITパスポート過去問</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }
        body {
            margin-top: 20px;
            font-size: 14px;
            font-family: "MS 明朝";
            line-height: 2;
        }
        li {
            list-style-type: none;
            margin-left: 50px;
        }
        div {
            margin-bottom: 50px;
            margin-left: 20px;
        }
        .q {
            display: block;
            margin-bottom: 30px;
        }
        input[type=number] {
            width: 50px;
        }
        .a_href {
            font-weight: bold;
        }
        .a_href:hover {
            cursor: pointer;
        }
        .src {
            font-size: 12px;
            color: #555555;
        }
    </style>
    <script>
    var correct_answers = 0;
        function check_answer(num,flg){
            if(flg == 1){
                document.getElementsByTagName("ul")[num].innerHTML = "正解です。";
                correct_answers++;
            } else {
                document.getElementsByTagName("ul")[num].innerHTML = "不正解です。正解は<br />\r\n" + answer_list[num] + "<br />\r\nです。";
            }
        }
    </script>
</head>
<body>
<article>
<?php

function get_sql_c($category){
    
$tmp $category;
    
$count 0;
    
$sql_c " (";
    foreach(
$tmp as $key => $value){
        
$value intval($value);
        if(
$value >= && $value <= 3){
            
$sql_c .= "`category`=" $value " OR ";
            
$count++;
        }
    }
    
$sql_c substr($sql_c,0,-4);
    
$sql_c .= ") ";
    return 
$sql_c;
}

function 
questions($max,$random,$category){
    include(
"./config.php");
    
$max intval($_GET["max"]);
    if(
$max <= 0$max 10;

    switch(
true){
        case 
$random == true && $category != "":
            
$sql_c get_sql_c($category);
            
$sql "SELECT * FROM `questions` WHERE {$sql_c} ORDER BY RAND() LIMIT {$max}";
        break;
        case 
$random == true && $category == "":
            
$sql "SELECT * FROM `questions` ORDER BY RAND() LIMIT {$max}";
        break;
        case 
$random == false && $category != "":
            
$sql_c get_sql_c($category);
            
$sql "SELECT * FROM `questions` WHERE {$sql_c} LIMIT {$max}";
        break;
        case 
$random == false && $category == "":
            
$sql "SELECT * FROM `questions` LIMIT {$max}";
        break;
    }
    
$link = new PDO("mysql:host={$config["dbhost"]};dbname={$config["dbname"]};charset=utf8",$config["dbuser"],$config["dbpassword"]);
    
$stmt $link->query($sql);
    
$oto[1] = "ア";
    
$oto[2] = "イ";
    
$oto[3] = "ウ";
    
$oto[4] = "エ";
    
$c = array();
    
$c[1] = "ストラテジ";
    
$c[2] = "マネジメント";
    
$c[3] = "テクノロジ";
    
$css "";
    
$rank 0;
    
$js "";
    while(
$row $stmt->fetch()){
        
$no $rank 1;
        
$row["q"] = nl2br($row["q"]);
        print(
"\t<section>\r\n    <div><span class=\"src\">ITパスポート試験 21年度 春期 {$c[$row["category"]]} 問{$row["no"]}</span><span class=\"q\">問{$no}{$row["q"]}</span>\r\n");
        
$array explode("<>",$row["choices"]);
        if(isset(
$array[4])){
            
//print("<img src=\"{$array[4]}\">\r\n");
        
}
        print(
"\t\t<ul>\r\n");
        if(
mb_strlen($array[0]) < 20){
            
$css " style=\"display: inline\"";
        }
        foreach(
$array as $key => $value){
            
$num $key 1;
            if(
$num != && $value != ""){
                if(
$row["correct_answer"] == $num){
                    
$ans_flg 1;
                    
$ans $value;
                } else {
                    
$ans_flg 0;
                }
                print(
"\t\t\t<li{$css}><a class=\"a_href\" onClick=\"check_answer({$rank},{$ans_flg})\">{$oto[$num]}</a> {$value}</li>\r\n");
            }
        }
        
$js .= "answer_list[{$rank}] = \"{$oto[$row["correct_answer"]]} {$ans}\";\r\n";
        
$css "";
        print(
"\t\t</ul>\r\n");
        print(
"\t</div>\r\n");
        print(
"\t</section>\r\n");
        
$rank++;
    }
    print(
"<script>var answer_list = new Array();\r\n{$js}</script>");
}

if(
$_SERVER["QUERY_STRING"] != ""){
    if(isset(
$_GET["c"]) && empty($_GET["c"][0]) || !isset($_GET["c"])){
        
$_GET["c"] = array(1);
    }
    
questions($_GET["max"],!empty($_GET["random"]),$_GET["c"]);
} else {
    
$body = <<<BODY
    <form>
        <label for="max">問題数:</label><input type="number" name="max" id="max" value="10" min="1" />
        <label for="random">ランダムに出題:</label><input type="checkbox" name="random" id="random" value="true" />
        <br />
        <label for="s">ストラテジ:</label><input type="checkbox" name="c[]" id="s" value="1">
        <label for="m">マネジメント:</label><input type="checkbox" name="c[]" id="m" value="2">
        <label for="t">テクノロジ:</label><input type="checkbox" name="c[]" id="t" value="3">
        <input type="submit" value="開始" />
    </form>
    <a href="https://portfolio24.dip.jp/source.php?site=it&file=index.php">ソースコードを表示</a>
BODY;
    print(
$body);
}
?>
</article>
</body>
</html>