データの配列を取得しているPHPforeachループがあります。1つの特定の配列はhrefです。私のechoステートメントでは、次のように特定のhrefを次のページに追加しています。
echo '<a href="nextpage.php?url='.stats.'">Stats</a>'
次のページにリダイレクトされ、$_GETでURLを取得できます。問題は、追加されたURLの#の後の値を取得したいということです。たとえば、次のページのURLは次のようになります。
stats.php?url=basket-planet.com/ru/results/ukraine/?date=2013-03-17#game-2919
私がやりたいのは、最初のページでjavascriptまたはjQueryで#game-2919を取得し、それをURLに追加して、stats.phpページに移動できるようにすることです。これも可能ですか?サーバー側に送信されないため、PHPで#の後の値を取得できないことはわかっています。これに対する回避策はありますか?
これが私が考えていることです:
echo '<a href="#" onclick="stats('.$stats.');">Stats</a>';
<script type="text/javascript">
function stats(url){
var hash = window.location.hash.replace("#", "");
alert (hash);
}
しかし、それは機能していません。アラートが表示されないため、AJAXを実行して次のページにリダイレクトすることもできません。前もって感謝します。
更新:これは私のindex.phpページ全体です。
<?php
include_once ('simple_html_dom.php');
$html = file_get_html('http://basket-planet.com/ru/');
foreach ($html->find('div[class=games] div[class=games-1] div[class=game]') as $games){
$stats = $games->children(5)->href;
echo '<table?
<tr><td>
<a href="stats.php?url=http://www.basket-planet.com'.$stats.'">Stats</a>
</td></tr>
</table>';
}
?>
私のstats.phpページ:
<?php include_once ('simple_html_dom.php');
$url = $_GET['url'];
//$hash = $_GET['hash'];
$html = file_get_html(''.$url.'');
$stats = $html->find('div[class=fullStats]', 3);
//$stats = $html->find('div[class='.$hash.']');
echo $stats;
?>
私ができるようにしたいのは、stats.phpに渡されるURLにハッシュを追加することです。Simple HTML DOMパーサーを使用しているため、コードはそれほど多くありません。stats.php URLのハッシュを使用して、渡されたURLを調べられるようにしたいと思います。お役に立てば幸いです...