在模式窗口和ajax请求中显示轮播 - php

我什至不知道我是否在正确的方向上使用,而且我对ajax / jquery东西还很陌生。

我想在一页上加载20个类别的缩略图。当用户单击拇指时,将在模式上以全尺寸显示。然后,我希望用户能够看到该类别的下一张图像。

现在,当我单击图像时,它仅显示空弹出窗口,并且控制台中没有错误。

所以这是我显示类别图像的地方

        // some other code here
$result = $pdo->prepare("SELECT * FROM images WHERE image_album = ? ORDER BY image_id ASC LIMIT 24");
$result -> bindParam(1, $album_id, PDO::PARAM_INT);
$result->execute();
echo '
   <div id="gallery" class="section-scroll main-section">
      <section id="gallery-wrapper" class="">       
         <div class="gallery-content three-columns">';
    for($i=0; $row = $result->fetch(); $i++)
    {
        echo '            
            <a class="mix category-2 open-overlay" href="ajax-gallery.php" >
            <img width="1000" height="600" src="images/gallery/'.$row['image_name'].'" data-src="images/gallery/'.$row['image_name'].'"/>
                <div class="hidden-xs">
                    <div>
                        <span><h3>Full size</h3></span>
                    </div>
                </div>
            </a>';
    }
        // some more code

然后在ajax-gallery.php

if(!empty($_POST["album_id"]) && !empty($_POST["image_id"])) {

$album_id = $_POST['album_id'];            
$image = $_POST['image_id'];

    $value = $pdo->prepare('SELECT * FROM images WHERE image_album = ? ORDER BY image_id = ? ASC');
    $value->bindParam(1, $album_id, PDO::PARAM_INT);
    $value->bindParam(2, $image_id, PDO::PARAM_INT);
    $value->execute();
    $result = $value->fetch();    

    foreach ($result as $row)
    {
        echo '
        <section id="gallery">
            <div class="gallery-content fullscreen"><a class="close-button"><i class="icon-close"></i></a>
                <div class="gallery">
                    <div class="loading-spinner"></div>
                    <div id="images" class="owl-carousel">
                        <div class="item"><figure><img src="images/gallery/'.$row['image_name'].'" /></figure></div>
                    </div>
                    <div class="controls"></div>
                </div>
            </div>
        </section>      
        ';
    }

当用户单击缩略图时,ajax-gallery.php中回显中的HTML是轮播。

这是js部分,我确定这是错误的。

$(document).ready(function(){
$('#gallery, #a').click(function() {
   $.post('ajax-gallery.php',
        {
            "album_id": $(this).attr('album_id'),
            "image_id": $(this).attr('image_id')
        },
        function (response) {

        });
 });
});

更新:

这是当你指着拇指
在模式窗口和ajax请求中显示轮播 - php

参考方案

一种选择是将这些值附加到网址“ ajax-gallery.php?album_id = your_album_id&image_id = your_image_id”

将变量添加到网址后,您可以执行以下操作:

$(document).ready(function(){
   $('#gallery .mix category-2').click(function() {
      var url = $(this).attr('href')
      $.ajax({
        url: url,
        type: 'POST',
        dataType: 'json',
     })
     .done(function(data) {
        console.log("success");
     })
     .fail(function() {
        console.log("error");
     })
   })
})

这样,您将在ajax-gallery.php中获得variabels。
可能您必须执行“ $ _GET [” album_id“]”我没有测试过,所以让我知道。祝您工作顺利!

代码未在服务器目录php中创建文件 - php

我正在尝试使用以下代码将新文件写入服务器error_reporting(E_ALL); ini_set('display_errors', 1); if($_SERVER['REQUEST_METHOD'] == "POST") { $html = $_POST['html'];…

CodeIgniter更新查询被执行两次 - php

我正在使用CodeIgniter 2.2。每次访问页面时,我都必须用+1更新数据库。代码可以工作,但是每次都会增加+2。示例:如果是total views=2,则在单击页面后total views应该是3,但是数据库中的值是4。我确定我在控制器中仅调用一次模型add_one_to_view_image。控制者 function view(){ $view_i…

preg_replace排除<a href='''> </a> PHP - php

我正在使用preg_replace来替换带有href标签的文本中的关键字,我的正则表达式工作非常好,现在我的代码是:$newstring2 = preg_replace("/\p{L}*?".preg_quote($match[$i])."\p{L}*/ui", "<a href='"…

故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php

我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…

通过php表单修改我的xml文件 - php

这是我的xml文件和下面的php代码。我输入了一个输入类型,它将按名字搜索学生。然后将显示有关特定学生的信息,并且将显示另一个按钮更新。问题是我想在那之后修改信息。如何通过标签名称获取元素,以便可以修改有关特定学生的信息?<students> <student> <firstname>John</firstname&…