1

Ajax、PHP、および Javascript を使用したページがあります。そのページには、Web サイトの選択/コンボ ボックスがあります。ユーザーが Web サイトを選択すると、Ajax と GET メソッドを使用して PHP ファイルに送信し、PHP コードを実行する JavaScript 関数を呼び出します。その PHP ファイルは、データベースに接続しています (ユーザーの Web サイトの選択を使用して特定の行を取得します)。次に、データベースに保存されている詳細 (ユーザーが選択した Web サイトについて) を送信し、それらをページで使用して他の PHP コードを実行したいと考えています。

私が持っているコードで動作させることができないようで、考えられることはすべて試しました。

javascript 関数を呼び出す選択ボックス コード:

<select name="website" onchange="doSomething(this.value)" />
<option>option 1</option>
<option>option 2</option>
<option>etc.</option>
</select>

Ajax を使用して PHP ファイルを呼び出す Javascript 関数:

function doSomething(str)
{
if (str == "")
{
 document.getElementById("DIVdisplayID").innerHTML="Nothing Selected";
 return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
    document.getElementById("DIVdisplayID").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","URLHERETOPHPFILEHERE?website="+str,true);
xmlhttp.send();

}

マイ ディスプレイ DIV:

<div id="DIVdisplayID"></div>

ユーザーが選択した Web サイトに基づいてデータベース情報にアクセスするための PHP ファイル:

<?php
$website=$_GET["q"];

$con = mysql_connect("localhost","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("database", $con);

$result = mysql_query("SELECT * FROM Websites
WHERE WebsiteURL='$website'");

while($row = mysql_fetch_array($result))
{
echo $row['WebsiteDetail1'] . " " . $row['WebsiteDetail2'];
echo "<br />";
}

mysql_close($con);
?>
4

2 に答える 2

0

このコード行を次のように置き換えます。

xmlhttp.open("GET","URLHERETOPHPFILEHERE?website="+str,true);

と置換する:

xmlhttp.open("GET","your php file name with .php extension ?website="+str,true);

get メソッドを使用している php ファイルでは、get メソッド "website" で名前を使用します。

$website=$_GET["website"];
于 2012-06-02T07:46:04.440 に答える
0

Jクエリ。

doSomething(this.value) は機能しません。

doSomething(this.options[this.selectedIndex].text))

また

doSomething($(this).val())jqueryで

すべての JavaScript を次のように置き換えることができます。

$.get("URLHERETOPHPFILEHERE?website="+str, function(data){
    $('#DIVdisplayID').html(data);
});

「URLHERETOPPHPFILEHERE」が実際にコードで置き換えられていると想定しています。

于 2012-06-02T05:13:42.090 に答える