私はMysqlテーブルとphpを使って、各データ値の隣にあるボタンでページ上のデータを印刷しています。各値(一意のidを持つ)に対してボタンがクリックされると、ajax呼び出しが行われ、button idを配列に挿入するphp関数がトリガーされます。配列に値を格納するajaxトリガphp関数の使用方法
問題は、ボタンの1つをクリックすると値が配列内に挿入されますが、別のボタンをクリックすると、配列内の既存の値が削除され、新しい値だけが表示されます。
配列にとどまるために既存の値を停止するためにできることがわかりません。ここで
機能phpfile.php
public function storing_value(){
$qry= $_GET['passedvalue'];
$info = array();
$info[$qry]= $qry;
foreach($info as $key => $value)
{
echo $value;
}
}
インデックスページ
<script> <!---------- A J A X PART --- no need to worry about this---->
function showUser(str) {
if (str == "") {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
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 (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xmlhttp.open("GET","phpfile.php?passedvalue="+str,true);
xmlhttp.send();
}
}
</script> <!---------- A J A X PART --- no need to worry about this---->
<div id="txtHint">
<b>All array data will be printed here every time button is clicked</b>
</div>
<?php foreach($values as $value) {?>
<button class="<?= $value['id']; ?>"
value="<?= $value['id']; ?>"
onclick="showUser(this.value)" >Like</button>
<?php } ?>
のための私のコードは、だから、関数が呼び出されるたびに、既存の配列の値が削除されますです。ファイルの最初の行の開始セッションに予め
'$ info [$ qry] = $ qry;'は、常にインデックス$ qryの要素を持つ配列を持っていることを意味します。 – diavolic