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/certDetail";
$appid = "?appid="."";
$output = "&output="."xml";
// $callback = "&callback="."";
$cert_id = "&cert_id=".$Get_Keyword_enc_utf;
$get_q = "&get_q="."2";
$order_number = "&order="."0";

// XML
$url = $Yahoo.$appid.$output.$callback.$cert_id.$get_q.$order_number;
$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");
$CertDiv = $value->CertDiv;
$UserName = mb_convert_encoding($value->UserName, "EUC-JP", "UTF-8");
$CertImageUrl = $value->CertImageUrl;
$CertOverview = mb_convert_encoding($value->CertOverview, "EUC-JP", "UTF-8");
$OpenDate = $value->OpenDate;
$QuestionCount = $value->QuestionCount;
$ReportOpenFlag = $value->ReportOpenFlag;
$Correct = $value->Correct;
$ExamAmount = $value->ExamAmount;
$PassAmount = $value->PassAmount;
$FavoredCertCount = $value->FavoredCertCount;
$CommentCount = $value->CommentCount;
$EvalPoint = $value->EvalPoint;
$TotalPoint = $value->TotalPoint;
$CertDetailPcUrl = $value->CertDetailPcUrl;
$CertDetailMbUrl = $value->CertDetailMbUrl;

print $CertId."<br />";
print $CertName."<br />";
print $CertDiv."<br />";
print $UserName."<br />";
print $CertImageUrl."<br />";
print $CertOverview."<br />";
print $OpenDate."<br />";
print $QuestionCount."<br />";
print $ReportOpenFlag."<br />";
print $Correct."<br />";
print $ExamAmount."<br />";
print $PassAmount."<br />";
print $FavoredCertCount."<br />";
print $CommentCount."<br />";
print $EvalPoint."<br />";
print $TotalPoint."<br />";
print $CertDetailPcUrl."<br />";
print $CertDetailMbUrl."<br />";
}

// 以下の各問題情報を含みます。
foreach($xmldata->Result->QuestionResult->QuestionData 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;

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 />";

// 配列の削除
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です。
get_q 問題情報取得フラグです。0 問題情報を取得しない(デフォルト)1 問題情報を取得する 2 問題情報+正解と解説を取得する
order_number 問題取得番号です。0 すべての問題情報を取得する(デフォルト)1 ~ 10 対応する問題番号の情報を取得する

CertId 検定のIDです。
CertName 検定名です。
CertDiv 検定区分です。(0:択一式 1:配点式)
UserName 検定作成者のソーシャルプロフィールの表示名です。
CertImageUrl 検定画像のURLです。
CertOverview 検定概要です。
OpenDate 検定の公開日です。
QuestionCount 問題数です。
ReportOpenFlag 検定レポート公開フラグです。(0:公開していない 1:公開している)
Correct 合格基準です。択一式の検定の場合は基準となる正解数、配点式の検定の場合は基準となる得点がセットされます。合格基準が設定されていない検定の場合は「0」がセットされます。
ExamAmount 受験者総数です。
PassAmount 合格者総数です。合格基準が設定されていない場合は常に「0」がセットされます。
FavoredCertCount この検定をお気に入りの検定に登録した利用者の数です。
CommentCount この検定に投稿されたコメント数です。
EvalPoint 評価ポイントの平均値です。0 ~ 5、小数点第1位まで。
TotalPoint 検定の総合ポイントです。
CertDetailPcUrl パソコン版の検定詳細ページのURLです。
CertDetailMbUrl モバイル版の検定詳細ページのURLです。
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です。
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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