1345297158 http://webservice.kabufuru.net/yahapi/samplephp.php

上記のサンプルコードを改変したphpプログラムを書いています。
まず上記改変する前のサンプルコードでは問題が起こらないので
サーバーの設定などには問題が無いと考えています。
ソース改変後
<?php getAndDispFunc( "中古" ); ?>の部分を例えばウェブマネーと
すると画像の様にエラーが起こってしまいます。
ニンテンドープリペイド と入れると問題は起きません
あと半角英語でも問題が起きた事が無く、ウェブマネーをURLエンコードしたURLを
ブラウザに入れても問題無くエラーが起こるようなことはありません。
データーは一応全部UTF-8で保存しています。

構成として
index.php (test.phpの呼び出し)
test.php (set.phpとkeyword.phpを読み込んで実行)
set.php (設定情報をまとめたファイル)
keyword.php (検索ワードを記述するファイル)

ソースをアップロードしたので原因がわかる方教えてください
PASS 1234hatena です。
http://ll.la/NH)f

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/08/20 12:02:18
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:rouge_2008 No.2

回答回数595ベストアンサー獲得回数351

ポイント500pt

1件しか見つからなかった場合のレスポンスデータの構造が違っていたのが原因です。
(※PHPserializeのみ確認。XMLとJSONPの場合は不明です。)
次のようにすると正常に表示されます。

function getAndDispFunc( $keyword ){

	require_once "set.php";

	//キャッシュの作成

	$cache_time = 1*3600;
	$result = require_once 'Cache/Lite.php';
	if ($result === false){
		echo 'パスが違う?';
		exit();
	}
	$cache_id = $set1;
	$option = array('cacheDir' => 'tmp/',
	'lifetime' => $cache_time,);
	$cache_lite = new Cache_Lite($option);
	$cache_data = $cache_lite->get($cache_id);

	if($cache_data){

		$html_title[0] = $cache_data;

	}else{

		//conecoリクエストURLの作成

		$requestUra = "http://api.coneco.net/cws/v1/SearchProducts?apikey=*** Your CONECO API Key ***";
		//$requestUra .= "&comId=$set2"; //商品IDの指定
		$requestUra .= "&keyword=" . urlencode( $keyword );
		//conecoAPIリクエスト実行
		$res2 = file_get_contents($requestUra);
		$html=mb_convert_encoding(file_get_contents($requestUra), 'UTF-8', 'auto');
		$pattern = "/(?<=<LowestPrice>).+?(?=<\/LowestPrice>)/mis";
		preg_match($pattern,$html,$html_title);

		$cache_lite->save($html_title[0], $cache_id);
	}


	//cocone IDの設定が無い場合の処理
	if( isset($html_title[0]) ){
		
	} else {
		$html_title[0] = $set6;
	}


	//リクエストURL作成
	$requestUrl = "http://auctions.yahooapis.jp/AuctionWebService/V2/php/search?";
	$uranai_bangou = rand(1,11); 
	if ($uranai_bangou == 1) { 
		$requestUrl .= "appid=LuXDRiSxg677.Bfle4jIRp7rOtuoeGdm1q0gEhrTXnwMz35nRN8XnkRb8fas1PdqTKyoqZg-"; 
	} elseif ($uranai_bangou == 2) { 
		$requestUrl .= "appid=oxJbSFqxg65eKTlbRVJo9xLvRG3rpoGZvD8CIcBbGPhD9nTjRH.cN3fuYabO4btsVOkkees-"; 
	} elseif ($uranai_bangou == 3) { 
		$requestUrl .= "appid=_eDyS7Wxg66n.rnBFsvExdgO7Bi8CCVJVMfPDue77EZnQRFJ_X4Cf0mEh.o4I3_sc_8xSes-";
	} elseif ($uranai_bangou == 4) { 
		$requestUrl .= "appid=Gcyamraxg65Ps3GnOTAgqTloZ6O1bHlKOROOMeR5H4PxU4cwQSIAmk628bcSO.vGNQz3roA-"; 
	} elseif ($uranai_bangou == 5) { 
		$requestUrl .= "appid=Huh7gbmxg665fWm5z_FwlDQ4oN.1MKjxSgl7xkkksVCRsnfUehDCH8w2uUojydk5cbaGV9g-"; 
	} elseif ($uranai_bangou == 6) { 
		$requestUrl .= "appid=ccaZaSOxg66DjX5ssW6a2Fn1IxX_3VbHJnMTjbSz6xNi8Q.y5yzShh0Wpxjy_rattovDeKE-"; 
	} elseif ($uranai_bangou == 7) { 
		$requestUrl .= "appid=KbzQRh6xg67njNwThrQE4jbJ7VAsOGG9ZHeIQgBKU1jncMVJLCjXjltwuU7sXwoEr1.JKUo-";
	} elseif ($uranai_bangou == 8) { 
		$requestUrl .= "appid=PU0hqPexg66HGfMn.FpEDBpicax5AjkJ01qie.hJ45I7tcvVLk0G19XHvrL28VD6JXkYZmw-";
	} elseif ($uranai_bangou == 9) { 
		$requestUrl .= "appid=JsNp9rSxg64um9srcjBlt6rws4GCSKlK4t4j1dCZhEQij9onYshnbsZgIbZTccrSWMnitfE-";
	} else { 
		$requestUrl .= "appid=1g9Htxuxg64fs_yk4BrPCL9Hqec9s3gqN5W_waSFcEayuG2MeTr4p4eamvtj5dUEGdff7N4-";
	}

	$requestUrl .= "&category=$set3";	//カテゴリ「空気清浄機」

	$requestUrl .= "&query=" . urlencode( $keyword );;	//検索キーワードをUTF-8でURLエンコード
	$requestUrl .= "&sort=bidorbuy&order=b";		//ソート
	$requestUrl .= "&thumbnail=1";		//画像ありの商品の絞り込み
	$requestUrl .= "&aucmaxprice=";		//最大価格
	$requestUrl .= "&aucminprice=";		//最小価格

	$requestUrl .= "&aucmax_bidorbuy_price=$html_title[0]";		//即決最大価格
	$requestUrl .= "&aucmin_bidorbuy_price=$set4";		//即決最小価格

	//APIリクエスト実行
	$res = unserialize(file_get_contents($requestUrl));

	//APIレスポンスXMLよりHTMLに変換
	$retHtml .= "";
	$retHtml .= "<b>$set0</b><br><br><font color=red><br><a href=http://$set5 target=_blank>Amazonでの購入もおすすめです。</a><br><table><hr>\n";
	
$retHtml .= "<br>" . $res['ResultSet']['totalResultsAvailable'] . " 件見つかりました。<br>";
	if ($res['ResultSet']['totalResultsAvailable'] > 0) {
		$iLoop = 0;
		foreach ($res['ResultSet']['Result']['Item'] as $itemValue) {
			if( $iLoop % 2 == 0 ){
				$retHtml .= "<tr><td>\n";
			} else {
				$retHtml .= "<tr><td>\n";
			}
			//タイトル
			$title = $res['ResultSet']['totalResultsAvailable'] == 1 ? $res['ResultSet']['Result']['Item']['Title'] : $itemValue['Title'];
			$retHtml .= "<b> " . $title . "</b></br>\n";
			//画像
			$image = $res['ResultSet']['totalResultsAvailable'] == 1 ? $res['ResultSet']['Result']['Item']['Image'] : $itemValue['Image'];
			$buy = $res['ResultSet']['totalResultsAvailable'] == 1 ? $res['ResultSet']['Result']['Item']['BidOrBuy'] : $itemValue{'BidOrBuy'};
			$endtime = $res['ResultSet']['totalResultsAvailable'] == 1 ? $res['ResultSet']['Result']['Item']['EndTime'] : $itemValue['EndTime'];
			$itemUrl = $res['ResultSet']['totalResultsAvailable'] == 1 ? $res['ResultSet']['Result']['Item']['AuctionItemUrl'] : $itemValue{'AuctionItemUrl'};
			$retHtml .= "<table><tr><td width=150><img src=\"" . $image . "\" alt=\"" . $title . "\" /></td><td>即決価格:<font color=red> " . floor($buy) ."円<br></font>終了時刻 : " . date('Y年m月d日H時i分', strtotime($endtime)) . "<br><a href=\"http://atq.ck.valuecommerce.com/servlet/atq/referral?sid=2219441&pid=877510753&vcptn=auct%2Fp%2FbB3A7Kg1M6EFXm6WdTH1hFB6eL8-&vc_url=" . $itemUrl . "\"target=_blank\">ヤフオクで詳細を見る、購入する</a></tr></td></table>\n";
	
			if( $iLoop % 2 == 1 ){
				$retHtml .= "</tr></td>\n";
			} else {
				$retHtml .= "</tr></td>\n";
			}
			$iLoop++;
			if($res['ResultSet']['totalResultsAvailable'] == 1) {
				break;
			}
		}
		if( $iLoop % 2 == 1 ){
			$retHtml .= "<td></td></tr>\n";
		}
	} else {
    	// 該当なしの場合の処理
    	$retHtml .= "<tr><td>該当する商品がありませんでした。時間を置いてアクセスしてみてください。</td></tr>\n";
	}
	$retHtml .= "</table>\n";
	echo $retHtml;
}

require_once "keyword.php";
他2件のコメントを見る
id:rouge_2008

メッセージが届いていないので確認できていません・・・
コメントでのwindofjulyさんのアドバイスに従って少し修正してみました。

	//APIレスポンスXMLよりHTMLに変換
	$retHtml .= "";
	$retHtml .= "<table><tr><td><b>$keyword</b><br><br><font color=red><br><a href=http://$set5 target=_blank>Amazonでの購入もおすすめです。</a><hr></td></tr>\n";
	
	$retHtml .= "<tr><td>" . $res['ResultSet']['totalResultsAvailable'] . " 件見つかりました。</td></tr>\n";
	if ($res['ResultSet']['totalResultsAvailable'] > 0) {
		$iLoop = 0; var_dump($res['ResultSet']['Result']['Item']);
		foreach ($res['ResultSet']['Result']['Item'] as $itemValue) {
			$retHtml .= "<tr><td>\n";
			if($res['ResultSet']['totalResultsAvailable'] == 1) {
				$retHtml .= "<b> " . $res['ResultSet']['Result']['Item']['Title'] . "</b></br>\n";
				$retHtml .= "<table><tr><td width=150><img src=\"" . $res['ResultSet']['Result']['Item']['Image'] . "\" alt=\"" . $res['ResultSet']['Result']['Item']['Title'] . "\" /></td><td>即決価格:<font color=red> " . floor($res['ResultSet']['Result']['Item']['BidOrBuy']) ."円<br></font>終了時刻 : " . date('Y年m月d日H時i分', strtotime($res['ResultSet']['Result']['Item']['EndTime'])) . "<br><a href=\"http://atq.ck.valuecommerce.com/servlet/atq/referral?sid=2219441&pid=877510753&vcptn=auct%2Fp%2FbB3A7Kg1M6EFXm6WdTH1hFB6eL8-&vc_url=" . $res['ResultSet']['Result']['Item']['AuctionItemUrl'] . "\"target=_blank\">ヤフオクで詳細を見る、購入する</a></td></tr></table>\n";
			} else {
				//タイトル
				$retHtml .= "<b> " . $itemValue['Title'] . "</b></br>\n";
				//画像
				$retHtml .= "<table><tr><td width=150><img src=\"" . $itemValue['Image'] . "\" alt=\"" . $itemValue['Title'] . "\" /></td><td>即決価格:<font color=red> " . floor($itemValue{'BidOrBuy'}) ."円<br></font>終了時刻 : " . date('Y年m月d日H時i分', strtotime($itemValue['EndTime'])) . "<br><a href=\"http://atq.ck.valuecommerce.com/servlet/atq/referral?sid=2219441&pid=877510753&vcptn=auct%2Fp%2FbB3A7Kg1M6EFXm6WdTH1hFB6eL8-&vc_url=" . $itemValue{'AuctionItemUrl'} . "\"target=_blank\">ヤフオクで詳細を見る、購入する</a></td></tr></table>\n";
			}
			$retHtml .= "</td></tr>\n";
			$iLoop++;
			if($res['ResultSet']['totalResultsAvailable'] == 1) {
				break;
			}
		}
	} else {
    	// 該当なしの場合の処理
    	$retHtml .= "<tr><td>該当する商品がありませんでした。時間を置いてアクセスしてみてください。</td></tr>\n";
	}
	$retHtml .= "</table>\n";
	echo $retHtml;

2012/08/20 09:12:14
id:rouge_2008

質問者からのメッセージが上記コメント返信より後の投稿だと思いますが、何かまずい事でもあったでしょうか?

2012/08/20 09:27:19

その他の回答1件)

id:oil999 No.1

回答回数1728ベストアンサー獲得回数320

set.phpの次の記述が間違っています。
定数を代入してください。

$set1 = category7item55;//キャッシュIDフォルダ名名連続記述
id:rouge_2008 No.2

回答回数595ベストアンサー獲得回数351ここでベストアンサー

ポイント500pt

1件しか見つからなかった場合のレスポンスデータの構造が違っていたのが原因です。
(※PHPserializeのみ確認。XMLとJSONPの場合は不明です。)
次のようにすると正常に表示されます。

function getAndDispFunc( $keyword ){

	require_once "set.php";

	//キャッシュの作成

	$cache_time = 1*3600;
	$result = require_once 'Cache/Lite.php';
	if ($result === false){
		echo 'パスが違う?';
		exit();
	}
	$cache_id = $set1;
	$option = array('cacheDir' => 'tmp/',
	'lifetime' => $cache_time,);
	$cache_lite = new Cache_Lite($option);
	$cache_data = $cache_lite->get($cache_id);

	if($cache_data){

		$html_title[0] = $cache_data;

	}else{

		//conecoリクエストURLの作成

		$requestUra = "http://api.coneco.net/cws/v1/SearchProducts?apikey=*** Your CONECO API Key ***";
		//$requestUra .= "&comId=$set2"; //商品IDの指定
		$requestUra .= "&keyword=" . urlencode( $keyword );
		//conecoAPIリクエスト実行
		$res2 = file_get_contents($requestUra);
		$html=mb_convert_encoding(file_get_contents($requestUra), 'UTF-8', 'auto');
		$pattern = "/(?<=<LowestPrice>).+?(?=<\/LowestPrice>)/mis";
		preg_match($pattern,$html,$html_title);

		$cache_lite->save($html_title[0], $cache_id);
	}


	//cocone IDの設定が無い場合の処理
	if( isset($html_title[0]) ){
		
	} else {
		$html_title[0] = $set6;
	}


	//リクエストURL作成
	$requestUrl = "http://auctions.yahooapis.jp/AuctionWebService/V2/php/search?";
	$uranai_bangou = rand(1,11); 
	if ($uranai_bangou == 1) { 
		$requestUrl .= "appid=LuXDRiSxg677.Bfle4jIRp7rOtuoeGdm1q0gEhrTXnwMz35nRN8XnkRb8fas1PdqTKyoqZg-"; 
	} elseif ($uranai_bangou == 2) { 
		$requestUrl .= "appid=oxJbSFqxg65eKTlbRVJo9xLvRG3rpoGZvD8CIcBbGPhD9nTjRH.cN3fuYabO4btsVOkkees-"; 
	} elseif ($uranai_bangou == 3) { 
		$requestUrl .= "appid=_eDyS7Wxg66n.rnBFsvExdgO7Bi8CCVJVMfPDue77EZnQRFJ_X4Cf0mEh.o4I3_sc_8xSes-";
	} elseif ($uranai_bangou == 4) { 
		$requestUrl .= "appid=Gcyamraxg65Ps3GnOTAgqTloZ6O1bHlKOROOMeR5H4PxU4cwQSIAmk628bcSO.vGNQz3roA-"; 
	} elseif ($uranai_bangou == 5) { 
		$requestUrl .= "appid=Huh7gbmxg665fWm5z_FwlDQ4oN.1MKjxSgl7xkkksVCRsnfUehDCH8w2uUojydk5cbaGV9g-"; 
	} elseif ($uranai_bangou == 6) { 
		$requestUrl .= "appid=ccaZaSOxg66DjX5ssW6a2Fn1IxX_3VbHJnMTjbSz6xNi8Q.y5yzShh0Wpxjy_rattovDeKE-"; 
	} elseif ($uranai_bangou == 7) { 
		$requestUrl .= "appid=KbzQRh6xg67njNwThrQE4jbJ7VAsOGG9ZHeIQgBKU1jncMVJLCjXjltwuU7sXwoEr1.JKUo-";
	} elseif ($uranai_bangou == 8) { 
		$requestUrl .= "appid=PU0hqPexg66HGfMn.FpEDBpicax5AjkJ01qie.hJ45I7tcvVLk0G19XHvrL28VD6JXkYZmw-";
	} elseif ($uranai_bangou == 9) { 
		$requestUrl .= "appid=JsNp9rSxg64um9srcjBlt6rws4GCSKlK4t4j1dCZhEQij9onYshnbsZgIbZTccrSWMnitfE-";
	} else { 
		$requestUrl .= "appid=1g9Htxuxg64fs_yk4BrPCL9Hqec9s3gqN5W_waSFcEayuG2MeTr4p4eamvtj5dUEGdff7N4-";
	}

	$requestUrl .= "&category=$set3";	//カテゴリ「空気清浄機」

	$requestUrl .= "&query=" . urlencode( $keyword );;	//検索キーワードをUTF-8でURLエンコード
	$requestUrl .= "&sort=bidorbuy&order=b";		//ソート
	$requestUrl .= "&thumbnail=1";		//画像ありの商品の絞り込み
	$requestUrl .= "&aucmaxprice=";		//最大価格
	$requestUrl .= "&aucminprice=";		//最小価格

	$requestUrl .= "&aucmax_bidorbuy_price=$html_title[0]";		//即決最大価格
	$requestUrl .= "&aucmin_bidorbuy_price=$set4";		//即決最小価格

	//APIリクエスト実行
	$res = unserialize(file_get_contents($requestUrl));

	//APIレスポンスXMLよりHTMLに変換
	$retHtml .= "";
	$retHtml .= "<b>$set0</b><br><br><font color=red><br><a href=http://$set5 target=_blank>Amazonでの購入もおすすめです。</a><br><table><hr>\n";
	
$retHtml .= "<br>" . $res['ResultSet']['totalResultsAvailable'] . " 件見つかりました。<br>";
	if ($res['ResultSet']['totalResultsAvailable'] > 0) {
		$iLoop = 0;
		foreach ($res['ResultSet']['Result']['Item'] as $itemValue) {
			if( $iLoop % 2 == 0 ){
				$retHtml .= "<tr><td>\n";
			} else {
				$retHtml .= "<tr><td>\n";
			}
			//タイトル
			$title = $res['ResultSet']['totalResultsAvailable'] == 1 ? $res['ResultSet']['Result']['Item']['Title'] : $itemValue['Title'];
			$retHtml .= "<b> " . $title . "</b></br>\n";
			//画像
			$image = $res['ResultSet']['totalResultsAvailable'] == 1 ? $res['ResultSet']['Result']['Item']['Image'] : $itemValue['Image'];
			$buy = $res['ResultSet']['totalResultsAvailable'] == 1 ? $res['ResultSet']['Result']['Item']['BidOrBuy'] : $itemValue{'BidOrBuy'};
			$endtime = $res['ResultSet']['totalResultsAvailable'] == 1 ? $res['ResultSet']['Result']['Item']['EndTime'] : $itemValue['EndTime'];
			$itemUrl = $res['ResultSet']['totalResultsAvailable'] == 1 ? $res['ResultSet']['Result']['Item']['AuctionItemUrl'] : $itemValue{'AuctionItemUrl'};
			$retHtml .= "<table><tr><td width=150><img src=\"" . $image . "\" alt=\"" . $title . "\" /></td><td>即決価格:<font color=red> " . floor($buy) ."円<br></font>終了時刻 : " . date('Y年m月d日H時i分', strtotime($endtime)) . "<br><a href=\"http://atq.ck.valuecommerce.com/servlet/atq/referral?sid=2219441&pid=877510753&vcptn=auct%2Fp%2FbB3A7Kg1M6EFXm6WdTH1hFB6eL8-&vc_url=" . $itemUrl . "\"target=_blank\">ヤフオクで詳細を見る、購入する</a></tr></td></table>\n";
	
			if( $iLoop % 2 == 1 ){
				$retHtml .= "</tr></td>\n";
			} else {
				$retHtml .= "</tr></td>\n";
			}
			$iLoop++;
			if($res['ResultSet']['totalResultsAvailable'] == 1) {
				break;
			}
		}
		if( $iLoop % 2 == 1 ){
			$retHtml .= "<td></td></tr>\n";
		}
	} else {
    	// 該当なしの場合の処理
    	$retHtml .= "<tr><td>該当する商品がありませんでした。時間を置いてアクセスしてみてください。</td></tr>\n";
	}
	$retHtml .= "</table>\n";
	echo $retHtml;
}

require_once "keyword.php";
他2件のコメントを見る
id:rouge_2008

メッセージが届いていないので確認できていません・・・
コメントでのwindofjulyさんのアドバイスに従って少し修正してみました。

	//APIレスポンスXMLよりHTMLに変換
	$retHtml .= "";
	$retHtml .= "<table><tr><td><b>$keyword</b><br><br><font color=red><br><a href=http://$set5 target=_blank>Amazonでの購入もおすすめです。</a><hr></td></tr>\n";
	
	$retHtml .= "<tr><td>" . $res['ResultSet']['totalResultsAvailable'] . " 件見つかりました。</td></tr>\n";
	if ($res['ResultSet']['totalResultsAvailable'] > 0) {
		$iLoop = 0; var_dump($res['ResultSet']['Result']['Item']);
		foreach ($res['ResultSet']['Result']['Item'] as $itemValue) {
			$retHtml .= "<tr><td>\n";
			if($res['ResultSet']['totalResultsAvailable'] == 1) {
				$retHtml .= "<b> " . $res['ResultSet']['Result']['Item']['Title'] . "</b></br>\n";
				$retHtml .= "<table><tr><td width=150><img src=\"" . $res['ResultSet']['Result']['Item']['Image'] . "\" alt=\"" . $res['ResultSet']['Result']['Item']['Title'] . "\" /></td><td>即決価格:<font color=red> " . floor($res['ResultSet']['Result']['Item']['BidOrBuy']) ."円<br></font>終了時刻 : " . date('Y年m月d日H時i分', strtotime($res['ResultSet']['Result']['Item']['EndTime'])) . "<br><a href=\"http://atq.ck.valuecommerce.com/servlet/atq/referral?sid=2219441&pid=877510753&vcptn=auct%2Fp%2FbB3A7Kg1M6EFXm6WdTH1hFB6eL8-&vc_url=" . $res['ResultSet']['Result']['Item']['AuctionItemUrl'] . "\"target=_blank\">ヤフオクで詳細を見る、購入する</a></td></tr></table>\n";
			} else {
				//タイトル
				$retHtml .= "<b> " . $itemValue['Title'] . "</b></br>\n";
				//画像
				$retHtml .= "<table><tr><td width=150><img src=\"" . $itemValue['Image'] . "\" alt=\"" . $itemValue['Title'] . "\" /></td><td>即決価格:<font color=red> " . floor($itemValue{'BidOrBuy'}) ."円<br></font>終了時刻 : " . date('Y年m月d日H時i分', strtotime($itemValue['EndTime'])) . "<br><a href=\"http://atq.ck.valuecommerce.com/servlet/atq/referral?sid=2219441&pid=877510753&vcptn=auct%2Fp%2FbB3A7Kg1M6EFXm6WdTH1hFB6eL8-&vc_url=" . $itemValue{'AuctionItemUrl'} . "\"target=_blank\">ヤフオクで詳細を見る、購入する</a></td></tr></table>\n";
			}
			$retHtml .= "</td></tr>\n";
			$iLoop++;
			if($res['ResultSet']['totalResultsAvailable'] == 1) {
				break;
			}
		}
	} else {
    	// 該当なしの場合の処理
    	$retHtml .= "<tr><td>該当する商品がありませんでした。時間を置いてアクセスしてみてください。</td></tr>\n";
	}
	$retHtml .= "</table>\n";
	echo $retHtml;

2012/08/20 09:12:14
id:rouge_2008

質問者からのメッセージが上記コメント返信より後の投稿だと思いますが、何かまずい事でもあったでしょうか?

2012/08/20 09:27:19
id:happyluppy

回答ありがとうございます

とある事情でもう少し質問をひらいておきますが

2番のrouge_2008さんはポイントの配分を行いませんので

よろしくおねがいいたします。

  • id:windofjuly
    うぃんど 2012/08/19 03:48:19
    >ソースをアップロードした

    アクセスしてもNot Foundになります。
    短縮サービス側の問題か、質問への記載ミスかは判りませんが、
    コメント欄などにオリジナルの長いURLのまま記載してみてください。
  • id:happyluppy
    すいません!アドレスですが
    http://www1.axfc.net/uploader/Sc/so/371309
    これで大丈夫だと思います。
    お手数ですが見て頂けると助かります。
  • id:windofjuly
    うぃんど 2012/08/19 06:48:54
    Sc_371309.zip のダウンロードページは表示されましたが、
    1234hatena を入力しても
    「キーワードが正しくありません」と出てダウンロードできませんでした。
  • id:happyluppy
    本当にご迷惑とお時間取らせてすいません。
    出先の携帯からで確認が不足していました。
    webからのダウンロードキーワードが1234
    zipのパスワードが上記の物です。
    無事解決できたら追加でポイントを送信しますので、どうかお力を貸して下さい。
    情報不足で、すいませんでした。
  • id:windofjuly
    うぃんど 2012/08/20 06:36:14
    ここ最近、朝から昼過ぎが就寝時間だったwindofjulyです。

    まず最初に、私のレスポンスが悪く、
    rouge_2008さん、happyluppyさんにはご迷惑をおかけしたことをお詫びいたします。

    そもそもの原因は、この質問をキャンセルできるように、
    過去質問のコメント欄で対応したのが間違いの始まりだったと思います。

    私がこっそり過去のソースを直していることは、
    当事者同士しかわかりづらいことだと思います。
    http://q.hatena.ne.jp/1344750511#a1161710

    rouge_2008 さんは1つ1つの質問に真摯に取り組んでくださる方で、人の回答をコピーしたり、
    ちょこっと見た目を変えたりといった姑息なマネをする方ではありませんので、
    回答1の酷さを見て、しかも、誰も回答しないので、考えてくださったのだと思います。

    コードを見ると rouge_2008 さんは私とは違ったアプローチを取っておられ、
    私が状況に合わせて手直しした部分も手直し以前の状態なので、
    私のマネをしたのではなく、独自にテストして手直ししてくださったことは判ります。

    ちなみに、
    私の書いたコードは結果が1件の場合と複数件の場合で処理を分けており、
    ループ内で何度も分岐処理を行わないようにしています。
    rouge_2008 さんのコードはループ内の式の中で分岐処理を逐一行っており、
    処理コスト面ではちょっと不利かもしれません。
    (三項演算を多様するとコードが見づらくなるので、
     IFで纏めたほうがいいとは思います)

    happyluppyさんにはご面倒をおかけしますが、
    両方のコードをテストしていただいて使いやすそうなほうを使ってもらえればと思います。

    重ね重ね、すみませんでした。
  • id:rouge_2008
    windofjulyさんフォローありがとうございました。
    以前の質問の方に返信をつけていたんですね。
    こちらにコメントしてくださっていれば気がついたのですが・・
    おっしゃる通り、私の回答はダウンロードしたコードを変更したものです。
    また、アドバイスもありがとうございます。
    朝まで気がつかなかったので助かりました。m(__)m
  • id:windofjuly
    うぃんど 2012/08/20 09:47:41
    >メッセージが届いていないので確認できていません・・・
    >何かまずい事

    「質問者から」の欄で、
    「2番のrouge_2008さんはポイントの配分を行いません」と書いてしまったことへの謝罪かと思います。

    私も「質問者から」の欄だけを見て慌ててコメント欄のほうに書き込ませていただいたのですが、慌てる必要はなかったみたいです^^

    人力検索にやってくる時間が3人バラバラなので、ちょっとチグハグぎみですが、これで繋がったかな?
  • id:happyluppy
    誤爆等でご迷惑をおかけ致しました。本当にすいません
    日時を見るとコメント後、補足でrouge_2008さんにポイントを与えないと
    書いてあり、意味が分かりませんが、一応私の意識では、補足後コメントを書いたつもりではありました・・・。
    (何故だろう・・)

    今回の質問ですが、windofjulyさんに以前からこのヤフオクの表示の件について質問に答えて下さっていたので
    今回、回答リクエストをつけていました。
    windofjulyさんは以前何度も質問に答えて下さったお礼としてポイントを送信していたのですが、
    今回検証不足だからといってポイントも返送されてこられましたし、今回のポイントも受けとりたくない思い等から
    前回の記事に書いたのだと思います。

    私としては当然ぽいんとげったーの様な方ではなく、期待以上の質問をしてくれる方にポイントを送信したいと思い。
    windofjulyさんにこちらでポイントを配分したくてなんでもいいので回答をして欲しかったので、
    こちらはそのままにしておきました。
    その間にRouge2008さんからも素晴らしい回答を頂き、私が誤爆をしてしまった為に話がなんだか
    ややこしくなってしまいました。
    windoflulyさんのフォローがあるまで不愉快な思いをされたかもしれませんし、rouge_2008さん本当にすいませんでした。

    結果としては望むような表示が問題なく行えるようになり、お二人方とも更なる改善案やソースの訂正等を
    していただき本当に助かりました。
    (◯件の検索結果の表示や、カテゴリの事等、そこまで手が回らないけど気になっていたところでした)
    私はphpの基礎知識がまるで無いので何も分からず、こんな事で数時間平気で格闘してましたので・・・。

    今回はお二人に同じポイントを送信してこの質問は閉じさせて頂きます。
    本当にありがとうございました。


  • id:rouge_2008
    ポイントとベストアンサーをありがとうございます。
    質問者からのメッセージの投稿時間がなぜか5時間ずれているのかもしれませんね。(はてなの不具合?)
    「05:14:13」ではなく「0:14:13」に補足を投稿して、「00:15:11」にコメントを投稿したのでしたら状況と合っています。

    修正したコードで表示確認の記述が残ったままになっていました。
    (※「var_dump($res['ResultSet']['Result']['Item']);」は削除してください。すみません。)

    if ($res['ResultSet']['totalResultsAvailable'] > 0) {
    $iLoop = 0; var_dump($res['ResultSet']['Result']['Item']);

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません