とりあえず現状のソース
<?php //UTF-8のおまじない header("Content-type: text/html; charset=UTF-8"); mb_language("Japanese"); mb_internal_encoding("UTF-8"); require_once 'ref.php'; ?> <!doctype html> <html> <head> <html lang="ja"> <meta charset="UTF-8"> </head> <body> <form action="" method="post"> <?php //受信済みのデータが有れば入力 if(isset($_POST["api_id"])) { echo '<p><label for="api_id">api_id</label><input type="text" id="api_id" name="api_id" value="' . $_POST["api_id"] . '"></p>'; echo '<p><label for="affiliate_id">affiliate_id</label><input type="text" id="affiliate_id" name="affiliate_id" value="' . $_POST["affiliate_id"] . '"></p>'; echo '<select name="site" size="1">'; echo '<option value="DMM.com" selected>一般</option>'; echo '<option value="FANZA">アダルト</option>'; echo '</select>'; echo '<p><label for="service">service</label><input type="text" id="service" name="service" value="' . $_POST["service"] . '"></p>'; echo '<p><label for="floor">floor</label><input type="text" id="floor" name="floor" value="' . $_POST["floor"] . '"></p>'; echo '<p><label for="hits">hits</label><input type="text" id="hits" name="hits" value="' . $_POST["hits"] . '"></p>'; echo '<p><label for="offset">offset</label><input type="text" id="offset" name="offset" value="' . $_POST["offset"] . '"></p>'; echo '<select name="sort" size="1">'; echo '<option value="rank" selected>人気</option>'; echo '<option value="price">価格が高い順</option>'; echo '<option value="-price">価格が安い順</option>'; echo '<option value="date">新着</option>'; echo '<option value="review">評価</option>'; echo '<option value="match">マッチング順</option>'; echo '</select>'; echo '<p><label for="keyword">keyword</label><input type="text" id="keyword" name="keyword" value="' . $_POST["keyword"] . '"></p>'; echo '<p><label for="cid">cid</label><input type="text" id="cid" name="cid" value="' . $_POST["cid"] . '"></p>'; echo '<select name="article" size="1">'; echo '<option value="" selected>なし</option>'; echo '<option value="actress">女優</option>'; echo '<option value="author">作者</option>'; echo '<option value="genre">ジャンル</option>'; echo '<option value="series">シリーズ</option>'; echo '<option value="maker">メーカー</option>'; echo '</select>'; echo '<p><label for="article_id">article_id</label><input type="text" id="article_id" name="article_id" value="' . $_POST["article_id"] . '"></p>'; echo '<p><label for="gte_date">gte_date</label><input type="text" id="gte_date" name="gte_date" value="' . $_POST["gte_date"] . '"></p>'; echo '<p><label for="lte_date">lte_date</label><input type="text" id="lte_date" name="lte_date" value="' . $_POST["lte_date"] . '"></p>'; echo '<select name="mono_stock" size="1">'; echo '<option value="">初期値</option>'; echo '<option value="stock">在庫あり</option>'; echo '<option value="reserve">予約受付中</option>'; echo '<option value="mono">DMM通販のみ</option>'; echo '<option value="dmp">マーケットプレイスのみ</option>'; echo '</select>'; }else{ echo '<p><label for="api_id">api_id</label><input type="text" id="api_id" name="api_id" value="API IDを入れる"></p>'; echo '<p><label for="affiliate_id">affiliate_id</label><input type="text" id="affiliate_id" name="affiliate_id" value="アフィリエイトID(なんか990とかつくやつ)"></p>'; echo '<select name="site" size="1">'; echo '<option value="DMM.com" selected>一般</option>'; echo '<option value="FANZA">アダルト</option>'; echo '</select>'; echo '<p><label for="service">service</label><input type="text" id="service" name="service" value="ebook"></p>'; echo '<p><label for="floor">floor</label><input type="text" id="floor" name="floor" value="comic"></p>'; echo '<p><label for="hits">hits</label><input type="text" id="hits" name="hits" value=""></p>'; echo '<p><label for="offset">offset</label><input type="text" id="offset" name="offset" value=""></p>'; echo '<select name="sort" size="1">'; echo '<option value="rank" selected>人気</option>'; echo '<option value="price">価格が高い順</option>'; echo '<option value="-price">価格が安い順</option>'; echo '<option value="date">新着</option>'; echo '<option value="review">評価</option>'; echo '<option value="match">マッチング順</option>'; echo '</select>'; echo '<p><label for="keyword">keyword</label><input type="text" id="keyword" name="keyword" value=""></p>'; echo '<p><label for="cid">cid</label><input type="text" id="cid" name="cid" value=""></p>'; echo '<select name="article" size="1">'; echo '<option value="" selected>なし</option>'; echo '<option value="actress">女優</option>'; echo '<option value="author">作者</option>'; echo '<option value="genre">ジャンル</option>'; echo '<option value="series">シリーズ</option>'; echo '<option value="maker">メーカー</option>'; echo '</select>'; echo '<p><label for="article_id">article_id</label><input type="text" id="article_id" name="article_id" value=""></p>'; echo '<p><label for="gte_date">gte_date</label><input type="text" id="gte_date" name="gte_date" placeholder="yyyy-mm-ddT00:00:00"></p>'; echo '<p><label for="lte_date">lte_date</label><input type="text" id="lte_date" name="lte_date" placeholder="yyyy-mm-ddT00:00:00"></p>'; echo '<select name="mono_stock" size="1">'; echo '<option value="" selected>初期値</option>'; echo '<option value="stock">在庫あり</option>'; echo '<option value="reserve">予約受付中</option>'; echo '<option value="mono">DMM通販のみ</option>'; echo '<option value="dmp">マーケットプレイスのみ</option>'; echo '</select>'; } ?> <input type="submit"> </form> <?php if(isset($_POST["api_id"])) { $api_id = $_POST["api_id"]; $affiliate_id = $_POST["affiliate_id"]; $site = $_POST["site"]; $service = $_POST["service"]; $floor = $_POST["floor"]; $hits = $_POST["hits"]; $offset = $_POST["offset"]; $sort = $_POST["sort"]; $keyword = urlencode($_POST["keyword"]); $cid = $_POST["cid"]; $article = $_POST["article"]; $article_id = $_POST["article_id"]; $gte_date = $_POST["gte_date"]; $lte_date = $_POST["lte_date"]; $mono_stock = $_POST["mono_stock"]; $para=""; if($api_id != ""){$para = $para . "&" . api_id . "={$api_id}";} if($affiliate_id != ""){$para = $para . "&" . affiliate_id . "={$affiliate_id}";} if($site != ""){$para = $para . "&" . site . "={$site}";} if($service != ""){$para = $para . "&" . service . "={$service}";} if($floor != ""){$para = $para . "&" . floor . "={$floor}";} if($hits != ""){$para = $para . "&" . hits . "={$hits}";} if($offset != ""){$para = $para . "&" . offset . "={$offset}";} if($sort != ""){$para = $para . "&" . sort . "={$sort}";} if($keyword != ""){$para = $para . "&" . keyword . "={$keyword}";} if($cid != ""){$para = $para . "&" . cid . "={$cid}";} if($article != ""){$para = $para . "&" . article . "={$article}";} if($article_id != ""){$para = $para . "&" . article_id . "={$article_id}";} if($gte_date != ""){$para = $para . "&" . gte_date . "={$gte_date}";} if($lte_date != ""){$para = $para . "&" . lte_date . "={$lte_date}";} if($mono_stock != ""){$para = $para . "&" . mono_stock . "={$mono_stock}";} $para=substr($para,1); $url = "https://api.dmm.com/affiliate/v3/ItemList?" . $para; // JSONデータを取得・エンコードしオブジェクトに変換 $json = file_get_contents($url); $obj = json_decode( $json ); // echo "<pre>"; // var_dump ($obj); // echo "</pre>"; $items=$obj->result->items; //アイテム数 echo count($items); $count=1; foreach($items as $item){ //作者情報まとめる $authors=$item->iteminfo->author; $sakusya=""; foreach($authors as $author){ if($sakusya==""){ $sakusya=$author->name . "先生"; }else{ $sakusya=$sakusya . "、" . $author->name . "先生"; } } //URL情報(立ち読み対応が有ればそちら) $url=""; if($item->tachiyomi->affiliateURL){ $url=$item->tachiyomi->affiliateURL; }else{ $url=$item->affiliateURL; } //出力 echo "<p>第{$count}位:{$sakusya}の『{$item->title}』{$item->number} 今 {$item->prices->price}円<br/>{$url}</p>"; $count++; } } ?>
出力
第5位:川上泰樹先生、伏瀬先生、みっつばー先生の『転生したらスライムだった件』21 今 660円
https://al.dmm.com/?lurl=https%3A%2F%2Fbook.dmm.com%2Ftachiyomi%2F%3Fcid%3DFRNfXRNVFW1RAQxaCgZWTgoBRQYFDlcBThFfCUJYU1kCCERYCmkGUFcKWhRHVwVfCBxZW1kEVQ__%26lin%3D1%26sd%3D0%2F&af_id=elve-990&ch=api
コピペしてツイートするとこんな感じ
第5位:川上泰樹先生、伏瀬先生、みっつばー先生の『転生したらスライムだった件』21 今 660円https://t.co/zK3TDTIWB4
— elve_comic (@elve_comic) 2022年8月3日