クエリを PHP から Ajax に変換しようとしています。
現在これを使用して、PHP から曲 ID の結果を返しています。
<a href="javascript:songinfo(<?php echo $currentSong->ID; ?>)" title="Lyrics and song info"></a><?php echo $currentSong->title; ?>
これを使用すると、このようなものが得られます
http://chennaichristianradio.com/PHP/web/songinfo.php?songID=5506
Ajax から同じ結果を取得し、上記と同じ返されたアドレスを取得するにはどうすればよいですか? 末尾の曲 ID は、データベースから取得した情報です。これは、誰かがこのリンクをクリックして、曲 ID 5506 の内容を示す新しいページを開くために使用されます。
ここで、現在の PHP を使用して何をしようとしているのかを確認できます。「曲情報」ボタンの 1 つをクリックするだけです。
http://chennaichristianradio.com/PHP/web/history.php
AJAXを使用して次のことを試みましたが、成功しませんでした。私は AJAX と PHP を学んでいるので、私のコードを大声で笑わないでください。
脚本
document.getElementById('ID').innerHTML = aj_ID "<a href="songinfo.php?songID=+ aj_results[7] + >"
そしてHTMLで
<a href="javascript:songinfo(<div id="id"></div>)" title="Lyrics and song info"><img src="../../images/info.png" alt="Track information" width="70" height="22" border="none" title="Song Info and Lyrics" /></a>
ご協力ありがとうございました
編集済み:これが私のajaxスクリプトです
<?php
//Sam Broadcaster - AJAX Module - Send Artist/Title/Duration and Seconds remaining to getXMLHTTPRequest
//Written, cobbled together by wilksy101. This code contain code sourced from the support forums and stuff written myself
// Change to your database user name
$username="************";
//Change to your database password
$password="************";
// Change to your database name
$database="************";
// Connect to the database
mysql_connect('ccronline.dyndns.info',$username,$password);
// Handle an error
@mysql_select_db($database) or die( "Unable to select database");
// Build Sql that returns the data needed - change this as required.
$sql = "SELECT songlist.*, historylist.listeners as listeners, historylist.requestID as requestID, historylist.date_played as starttime FROM historylist,songlist WHERE (historylist.songID = songlist.ID) AND (songlist.songtype='S' OR songlist.songtype='C' OR songlist.songtype='N') ORDER BY historylist.date_played DESC LIMIT 1";
// Store results in result object
$result = mysql_query($sql);
//store values in vars for calculation for array creation
$curPlay = mysql_query("SELECT * FROM historylist ORDER BY date_played DESC LIMIT 1");
$curPlayRow = mysql_fetch_assoc($curPlay);
if (!$curPlay) { echo( mysql_error()); }
$dt_duration = mysql_result($result,$i,'duration');
$title= mysql_result($result,$i,'title');
$artist= mysql_result($result,$i,'artist');
$album= mysql_result($result,$i,'album');
$picture= rawurlencode(mysql_result($result,$i,'picture'));
$lyrics= mysql_result($result,$i,'lyrics');
$ID= mysql_result($result,$i,'ID');
$curtime = time();
$timeleft = $starttime+round($dt_duration/1000)-$curtime;
$secsRemain = (round($dt_duration / 1000)-($curtime-$starttime));
//build array to return via getXMLHTTPRequest object - you can include more vars but remeber to handle them
//correcty in the useHttpResponse function
$Aj_array = $dt_duration . '|' . $secsRemain . '|' . $title . '|' . $artist .'|' . $album .'|' . $picture .'|' . $lyrics .'|' . $ID;
//we are using the text response object - which i think is easier for small data return
//just echo the array - not so much AJAX rather AJA ??
echo $Aj_array
?>