未分類 > 電脳卸WEBサービスのサンプルコード
かなりマニアックな商品を扱う電脳卸のウェブサービスのサンプルコードです。
必要なものはアクセスキーと販売店IDの二つです。
まずは電脳卸ウェブサービスの動作デモページで動作状況をご確認ください。
<?php /**********************************************************************/ // 電脳卸WEBサービス $accesskey = ''; // DWSアクセスキー $hid = ''; // 販売店ID /**********************************************************************/ /********************************************************************** echo '<div style="width:80%;margin:5% auto;">'; echo '<div style="margin:0; padding:0">'; ?> // 検索フォーム <div style="margin:0 0 2% 0;"> <form name="searchform" id="itemsearchform" method="get" action=""> <input type="text" name="sword" id="itemsword" value="" /> <input type="submit" id="itemssubmit" value="検索" /> </form> </div> <?php $store = 'https://www.store-mix.com/ko-bai/product.php?pid='; $offset = '10'; // 1ページに表示するアイテム数 $sort_mode = '0'; // 0:最新順 $sort = '1'; // 0:昇順 1:降順 $type = 'heavy'; $getsword = $_GET['sword']; $pgn = $_GET['Page']; if(isset($_GET['Page'])){ $pg = (int) $_GET['Page']; if(0 == $pg){$pg = 1;} }else{$pg = 1;} $utfkey = mb_convert_encoding($getsword,"UTF-8","auto"); $endkey = urlencode($utfkey); $shouhin = mb_convert_encoding($getsword,"UTF-8","auto"); $m_key = str_replace(" ", " ", $shouhin); $meta_key = str_replace(" ", ",", $m_key); $utfkey = str_replace(" ", " ", $utfkey); $URL = "https://webservice.d-064.com/3.x/ProductSearch.php?"."accesskey=".$accesskey."&hid=".$hid."&sword=". $endkey."&type=".$type."&page=".$pg."&offset=".$offset;$xml = ""; $fp = fopen($URL,"r"); while ( !feof($fp) ) {$xml .= fgets($fp,1000);} fclose($fp); $parser = xml_parser_create(); xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0); xml_parse_into_struct($parser,$xml,$values,$Index); xml_parser_free($parser); foreach ($Index as $key=>$val) { switch ($key) { case "TotalItems": $allResult = $values[$val[0]]['value']; break; case "TotalPages": $allpage = $values[$val[0]]['value']; break; } } for($n = 0; $n<count($Index['ItemID']); $n++){ foreach ($Index as $key=>$val){ switch ($key){ case "ItemID": $ItemID[] = $values[$val[$n]]['value']; break; case "ProductName": $ProductName[] = $values[$val[$n]]['value']; break; case "ShopID": $ShopID[] = $values[$val[$n]]['value']; break; case "Price": $Price[] = $values[$val[$n]]['value']; break; case "ImageUrlSmall": $ImageUrlSmall[] = $values[$val[$n]]['value']; break; case "Infinity": $Infinity[] = $values[$val[$n]]['value']; break; case "Availability": $Availability[] = $values[$val[$n]]['value']; break; case "ItemDetail": $ItemDetail[] = $values[$val[$n]]['value']; break; } } //検索結果の描画部分 echo '<div style="width:110px;float:left;"><a rel="nofollow" href="'.$store.$ItemID[$n].'&hid='.$hid.'&oid='.$ShopID[$n].'" target="_blank"><img border="0" src="'.$ImageUrlSmall[$n].'" alt="'.$ProductName[$n].'"></a></div>'; echo '<div style="font-weight:bold;margin-left:110px;"><a rel="nofollow" href="'.$store.$ItemID[$n].'&hid='.$hid.'&oid='.$ShopID[$n].'" target="_blank">'.$ProductName[$n].'</a></div>'; echo '<div style="color:#ff0000; font-weight:bold;margin-left:110px;">'."価格 ".number_format((int)$Price[$n])." 円".'</div>'; echo '<div style="margin-left:110px;">' .mb_substr($ItemDetail[$n], 0, 300, 'UTF-8').'</div>'; echo '<div style="clear:both; visibility:hidden; width:100%; height:10px;">クリア</div>'; echo '<hr style="width:100%;border:1px dotted #bbb;" />'; } // for end if(isset($item)){ echo "<span>全 ".number_format((int)$allResult)." 数</span>"; } $total_page = ceil( $allResult / $offset ); //総ページ数 $current_page= (empty($_GET['Page'])) ? 1 : $_GET['Page']; //現在のページ番号取得 // ページャー echo '<div>'; $nextpagenumber = '2'; // $url_a ="<a style='background-color: #ffffff; color: #ff0000; margin: 0; padding: 0.2em 0.5em; border: solid 1px; text-decoration: none;' href=\"?sword=$e_sword&Page="; $url_b ="\""; $html_pagenumber_Link = pagenumber_Link($total_page,$current_page,$nextpagenumber,$url_a,$url_b); echo $html_pagenumber_Link; function pagenumber_Link($total_page,$current_page,$nextpagenumber,$url_a,$url_b){ $html = ""; if($total_page < 1) return $html; if($current_page > 1) $html .= $url_a.($current_page-1).$url_b.' style="background-color: #ffffff; margin: 0; padding: 0.2em 0.5em; border: solid 1px; text-decoration: none;"'.">&laquo;</a>"; $prevpagenumber = $current_page - $nextpagenumber; while ($prevpagenumber < $current_page) { $prevpagenumber++; if($prevpagenumber > 1) $html .= $url_a.($prevpagenumber-1).$url_b.">".($prevpagenumber-1)."</a>"; } $html .= '<span style=" background-color: #ff0000; color: #ffffff; margin: 0; padding: 0.2em 0.5em; border: solid 1px #ff0000; text-decoration: none;">'.$current_page.'</span>'; if($current_page < $total_page){ $total_page = $total_page - $current_page; if($total_page > $nextpagenumber) $total_page=$nextpagenumber; $plus=0; while ($plus < $total_page) { $nextpagenumber=$current_page+$plus+1; $html .= $url_a.$nextpagenumber.$url_b.">".$nextpagenumber."</a>"; $plus++; } $html .= $url_a.($current_page+1).$url_b.' style="background-color: #ffffff; color: #ff0000; margin: 0; padding: 0.2em 0.4em; border: solid 1px; text-decoration: none;"'.">&raquo;</a>"; } return $html; } echo '</div>'; echo '</div>'; echo '</div>'; ?>
ワードプレスに投稿欄でPHPをプラグイン等で有効にしていて、このサンプルコードをワードプレスの投稿欄に直接、貼り付けて動作状況をご確認したい場合は、検索フォーム上の
echo '<div style="width:80%;margin:5% auto;">'; echo '<div style="margin:0; padding:0">';
と
サンプルコード最下部の
echo '</div>'; echo '</div>';
を削除してください。