FC2ブログ

<?php
// 検索ワード
$Get_Keyword = ereg_replace("[  ]+", " ", trim($_GET['cert_id']));
$Get_Keyword_enc = urlencode($Get_Keyword);
$Get_Keyword_enc_utf = urlencode(mb_convert_encoding($Get_Keyword, "UTF-8", "EUC-JP"));

// リクエストパラメータ
$Yahoo = "http://cert.yahooapis.jp/MinnaCertWebService/V1/certExam";
$appid = "?appid="."";
$output = "&output="."xml";
// $callback = "&callback="."";
$cert_id = "&cert_id=".$Get_Keyword_enc_utf;
$qid = "&qid="."";
$answer = "&answer="."";

// XML
$url = $Yahoo.$appid.$output.$callback.$cert_id.$qid.$answer;
$xmldata = simplexml_load_file($url) or die("XMLパースエラー");

$totalResultsAvailable = $xmldata['totalResultsAvailable'];
$totalResultsReturned = $xmldata['totalResultsReturned'];
$firstResultPosition = $xmldata['firstResultPosition'];

print $totalResultsAvailable."<br />";
print $totalResultsReturned."<br />";
print $firstResultPosition."<br />";

foreach($xmldata->Result as $value){
$CertId = $value->CertId;
$CertName = mb_convert_encoding($value->CertName, "EUC-JP", "UTF-8");
$CertImageUrl = $value->CertImageUrl;
$CertOverview = mb_convert_encoding($value->CertOverview, "EUC-JP", "UTF-8");
$CertDiv = $value->CertDiv;
$UserName = mb_convert_encoding($value->UserName, "EUC-JP", "UTF-8");
$CertDetailPcUrl = $value->CertDetailPcUrl;
$CertDetailMbUrl = $value->CertDetailMbUrl;

print $CertId."<br />";
print $CertName."<br />";
print $CertImageUrl."<br />";
print $CertOverview."<br />";
print $CertDiv."<br />";
print $UserName."<br />";
print $CertDetailPcUrl."<br />";
print $CertDetailMbUrl."<br />";
}
// 各評価情報を含みます。
$EvalResult_EvalAxis = mb_convert_encoding($xmldata->Result->EvalResult->EvalAxis, "EUC-JP", "UTF-8");
$EvalResult_EvalTitle = mb_convert_encoding($xmldata->Result->EvalResult->EvalTitle, "EUC-JP", "UTF-8");
$EvalResult_EvalMessage = mb_convert_encoding($xmldata->Result->EvalResult->EvalMessage, "EUC-JP", "UTF-8");
$EvalResult_Passing = $xmldata->Result->EvalResult->Passing;
$EvalResult_Score = $xmldata->Result->EvalResult->Score;

print $EvalResult_EvalAxis."<br />";
print $EvalResult_EvalTitle."<br />";
print $EvalResult_EvalMessage."<br />";
print $EvalResult_Passing."<br />";
print $EvalResult_Score."<br />";

// 以下の各問題情報を含みます。
foreach($xmldata->Result->EvalDetailResult->EvalDetailData as $value){
$QuestionId = $value->QuestionId;
$OrderNumber = $value->OrderNumber;
$QuestionText = mb_convert_encoding($value->QuestionText, "EUC-JP", "UTF-8");
$QuestionImageMUrl = $value->QuestionImageMUrl;
$QuestionImageSUrl = $value->QuestionImageSUrl;
$QuestionMovieUrl = $value->QuestionMovieUrl;
// 以下のすべての選択肢情報を含みます。
foreach($value->ChoicesResult->ChoiceData as $ChoiceData){
$ChoicesData_OrderNumber[] = $ChoiceData->OrderNumber;
$ChoicesData_ChoiceText[] = mb_convert_encoding($ChoiceData->ChoiceText, "EUC-JP", "UTF-8");
$ChoicesData_ChoicePoint[] = $ChoiceData->ChoicePoint;
$ChoicesData_ChoiceCount[] = $ChoiceData->ChoiceCount;
}
$CorrectCount = $value->CorrectCount;
$NoAnswerCount = $value->NoAnswerCount;
$CorrectAnswer = $value->CorrectAnswer;
$QuestionExplanation = mb_convert_encoding($value->QuestionExplanation, "EUC-JP", "UTF-8");
$ExplanationImageMUrl = $value->ExplanationImageMUrl;
$ExplanationImageSUrl = $value->ExplanationImageSUrl;
$ExplanationMovieUrl = $value->ExplanationMovieUrl;
$Answer = $value->Answer;
$Correct = $value->Correct;

print $QuestionId."<br />";
print $OrderNumber."<br />";
print $QuestionText."<br />";
print $QuestionImageMUrl."<br />";
print $QuestionImageSUrl."<br />";
print $QuestionMovieUrl."<br />";
// 以下のすべての選択肢情報を含みます。
for($i = 0; $i < count($ChoicesData_OrderNumber); $i++){
print $ChoicesData_OrderNumber[$i] ."<br />";
print $ChoicesData_ChoiceText[$i] ."<br />";
print $ChoicesData_ChoicePoint[$i]."<br />";
print $ChoicesData_ChoiceCount[$i]."<br />";
}
print $CorrectCount."<br />";
print $NoAnswerCount."<br />";
print $CorrectAnswer."<br />";
print $QuestionExplanation."<br />";
print $ExplanationImageMUrl."<br />";
print $ExplanationImageSUrl."<br />";
print $ExplanationMovieUrl."<br />";
print $Answer."<br />";
print $Correct."<br />";

// 配列の削除
while(count($$ChoicesData_OrderNumber)){
array_pop($$ChoicesData_OrderNumber);
array_pop($$ChoicesData_ChoiceText);
array_pop($$ChoicesData_ChoicePoint);
array_pop($$ChoicesData_ChoiceCount);
}
}
?>


参考URL
Yahoo!デベロッパーネットワーク - みんなの検定 - 検定受験

appid アプリケーションID(必須)
output string レスポンスの出力形式を指定します。 xml XML形式(デフォルト) json JSON形式
callback string JSONPとして出力する際のコールバック関数名を入力するためのパラメータです。UTF-8でエンコードした文字列を入力します。
cert_id 検定IDです。
qid 問題IDを出題番号順に","(カンマ)で連結した文字列です。
answer 各問題の解答を","(カンマ)で連結した文字列です。

CertId 検定のIDです。
CertName 検定名です。
CertImageUrl 検定画像のURLです。設定されていない場合は、NULLがセットされます。
CertOverview 検定概要です。
CertDiv 検定区分です。(0:択一式 1:配点式)
UserName 検定作成者のソーシャルプロフィールの表示名です。
CertDetailPcUrl パソコン版の検定詳細ページのURLです。
CertDetailMbUrl モバイル版の検定詳細ページのURLです。
EvalResult_EvalTitle 評価タイトルです。
EvalResult_EvalMessage 評価メッセージです。
EvalResult_Passing 合否です。0 不合格1 合格
EvalResult_Score (配点式の検定を受験して)取得したポイントです。択一式の検定の場合は、常に「0」がセットされます。
QuestionId 問題IDです。
OrderNumber 出題番号です。
QuestionText 問題文です。
QuestionImageMUrl 問題画像(Mサイズ)のURLです。
QuestionImageSUrl 問題画像(Sサイズ)のURLです。
QuestionMovieUrl 問題動画のURLです。
ChoicesResult 以下のすべての選択肢情報を含みます。
ChoiceData_OrderNumber 選択肢番号です。
ChoiceData_ChoiceText 選択肢です。
ChoiceData_ChoicePoint この選択肢に設定されている配点です。択一式の検定の場合は「0」がセットされます。
ChoiceData_ChoiceCount この選択肢の選択者数です。
CorrectCount この問題に正解した人の総数です。
NoAnswerCount この問題を未解答とした人の総数です。
CorrectAnswer 正解選択肢番号です。
QuestionExplanation 解説文です。
ExplanationImageMUrl 解説画像(Mサイズ)のURLです。
ExplanationImageSUrl 解説画像(Sサイズ)のURLです。
ExplanationMovieUrl 解説動画のURLです。
Answer 受験者が選択した解答番号です。
Correct 正解/不正解です。 0 不正解 1 正解
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS