私はajaxとjavascriptを初めて使用し、基本的なエラーがあると確信しているスクリプトに到達しましたが、それは私が現時点で持っているものです.
それぞれをクリックするとチェック画像がオンまたはオフになるボタンがいくつかあります (ボタンは mysql クエリから情報を要求するテーブルの一部であり、その長さは mysql の結果の数によって異なります)。
私はphpとmysqlでスクリプトを作成しましたが、そのページにデータを投稿するためのフォームが必要で、更新できなかったため、今はajaxで立ち往生しています。
だから私がやろうとしているのは、mysqlをajaxの中に入れることです...わかりました、それが大きな間違いだったらごめんなさい、正しい方法でそれを行うのを手伝ってください...
PHPコード:
(...code...)
$query = "SELECT `CÔR`, `keyword`, `Adds`, `PRMédio`, `PRDomínioMédio`, `Searches`, `CPC`, `.com`, `.org`, `.net`, `All in URL`, `All in Title`, `All in Desc.`
FROM keywords WHERE ( `Adds`>='$adds' && `Adds`<='$addsm' && `PRMédio`>='$pr' && `PRMédio`<='$prm' && `PRDomínioMédio`>= '$prdom' && `PRDomínioMédio`<= '$prdommax'
&& `Searches`>='$s' && `Searches`<='$smax' && `CPC`>='$cpc' && `CPC`<='$cpcmax')";
if ($query_run = mysql_query($query)){
while($query_row = mysql_fetch_assoc($query_run)){
$côr = $query_row['CÔR'];
(...code...)
<td>
<button id='ajaxButton'>Select</button>
</td>
(...code... 'CÔR' is the only variable that matters, it's the binnary one that turns on and off the image)
ジャバスクリプト:
(function() {
var httpRequest;
document.getElementById('ajaxButton').onClick = function('$q') {
$n = "SELECT `CÔR` FROM `keywords` WHERE `keyword`='$q'";
$b = mysql_query ($n);
$row = mysql_fetch_array($b);
echo "$row['CÔR'];";
$t = $row['CÔR'];
if ($t == 1) {
$m = "UPDATE `keywords` SET `CÔR`=0 WHERE `keyword`='$q'";
mysql_query ($m);
}
if ($t == 0) {
$l = "UPDATE `keywords` SET `CÔR`=1 WHERE `keyword`='$q'";
mysql_query ($l);
}
};
function makeRequest(index.php) {
if (window.XMLHttpRequest) {
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
httpRequest = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (e) {
try {
httpRequest = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (e) {}
}
}
if (!httpRequest) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
httpRequest.onreadystatechange = alertContents;
httpRequest.open('GET', index.php);
httpRequest.send();
}
function alertContents() {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
alert(httpRequest.responseText);
} else {
alert('There was a problem with the request.');
}
}
}
})
();
繰り返しますが、これが専門家の心を怒らせる場合は申し訳ありません。正しい方法を教えてください。