私はこの問題は、私の問題に適用することができる解決策を見つけることができませんが、StackOverflowで多くの質問を知っている。PHP関数内のJavaScript配列にPHP配列を渡す
私の会社のすべてのビデオと写真を再グループ化するプラットフォームで作業しています(私は同僚の後でプロジェクトを取り戻しています)、私の問題は画像を表示するライトボックスにあります。
私はこのような文字列形式にHTML/CSS/Javascriptを返すPHP関数があります。私はこのような関数を呼び出す
$block = '<div id="myModal" class="modal" style="margin:auto">'
.'<span style="float:right;margin-right:33px"><a href="'.HTTP_IHM_PATH.'Suppression.php?id='.$records[$i]['Access_Key'].'" onclick="return confirm(\'Êtes-vous sûr de vouloir continuer cette suppression ? Elle sera définitive.\');"><img src="'.HTTP_IMG_PATH.'corbeille.jpg" style="width:20px;height:auto;"></a></span>'
.'<span class="close cursor" onclick="closeModal()" style="color:#585858; font-size:60px;float:right;">×</span>'
[...]
return $block;
を:ここで<?php echo function() ?>
、私はPHPの配列$records
を持っていますLightBoxに表示したい画像に関するすべての情報が含まれています。私のコードで、これらの情報をjavascript関数に使用する必要があります。
私は<script>var records = <?php json_encode($records) ?></script>
を使用してjavascriptで配列を翻訳できると聞いてきましたが、動作しません!
最後に私がしたいのは、ユーザーが画像をクリックしてLightBoxを開き、彼が見ているすべての画像について、私はphp関数UpdateViews()
を呼び出して、ビューの数画像の
(これは変数$block
内の文字列形式のままである)私は、Ajaxを使用してみましたが、それは私にはかなり新しいですので、私は愚かなミスをやっていることがあります。
$block .= '//getSlideIndex returns slideIndex wich is the id of the <img/>
$(\'#\' + getSlideIndex()).on(\'click\', function(){
alert("Ok onclick" + records[getSlideIndex()]["Access_Key"];
//"Access_Key" is the property I need (primary key of the table)
$.ajax({
type:\'GET\',
url: \'/picture.php\',
data: {id=\' + records[getSlideIndex()]["Access_Key"] + \'},
success: function(data){
alert(\'success\' + data);
},
error: function(exception){
alert(\'Exception: \' + exception);
}
});
e.preventDefault();
});';
注:すでに使用私の元同僚を彼のコードにはAjaxがいくつかあるので、私がこのページにいるときには$_GET
がすでに設定されています:この場合、私は自分のAjaxを動作させることができますか?
この時点までに読んでいただきありがとうございます、私はあなたが正しい軌道に乗るのを助けることができれば幸いです。
があるために - そしてバックエンドは、PHPの部分であるエンドポイントでJSONを取得します。そうすれば、このような複雑な混乱にならないでしょう。おとぎ話をして申し訳ありません。 –