Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在AJAX和PHP之间发送值 创意优化。 欢迎来到下院 MP Creations®是一家独特的广告公司和视觉设计工作室。 我们为几乎所有媒体创建视觉内容,为客户讲述引人入胜的故事。 我们的方法依赖于创造性和战略性思维。我们带着激情、爱和关怀去做。期待很快与您见面。 为什么是我们? 最近的发展_Javascript_Php_Mysql_Ajax_Html - Fatal编程技术网

Javascript 在AJAX和PHP之间发送值 创意优化。 欢迎来到下院 MP Creations®是一家独特的广告公司和视觉设计工作室。 我们为几乎所有媒体创建视觉内容,为客户讲述引人入胜的故事。 我们的方法依赖于创造性和战略性思维。我们带着激情、爱和关怀去做。期待很快与您见面。 为什么是我们? 最近的发展

Javascript 在AJAX和PHP之间发送值 创意优化。 欢迎来到下院 MP Creations®是一家独特的广告公司和视觉设计工作室。 我们为几乎所有媒体创建视觉内容,为客户讲述引人入胜的故事。 我们的方法依赖于创造性和战略性思维。我们带着激情、爱和关怀去做。期待很快与您见面。 为什么是我们? 最近的发展,javascript,php,mysql,ajax,html,Javascript,Php,Mysql,Ajax,Html,$(文档).ready(函数(){ $(document).on('mouseenter','.grid item',function()){ var容器=$(此); var jobId=container.children().find('.title wrap hidden').text(); //AJAX请求 $.ajax({ url:'db_lookup.php', 键入:“POST”, 数据:{jobId:jobId}, 成功:功能(数据){ //成功 container.find('

$(文档).ready(函数(){ $(document).on('mouseenter','.grid item',function()){ var容器=$(此); var jobId=container.children().find('.title wrap hidden').text(); //AJAX请求 $.ajax({ url:'db_lookup.php', 键入:“POST”, 数据:{jobId:jobId}, 成功:功能(数据){ //成功 container.find('.title wrap').html('

'+data+'

'); 控制台日志(数据); }, 错误:函数(jqXHR、textStatus、errorshown){ //错误 警报(错误抛出); } }); }); $(document).on('mouseleave','.grid item',function()){ var容器=$(此); container.find('.title wrap').html('

'); }); }); 我有一个php,它将一些图像从数据库加载到前端。我现在要做的是,当我将鼠标悬停在一个图像上时,我想使用AJAX将$item->job_id传递给另一个php脚本,以便我可以使用该job_id从数据库中的另一个表中查找该图像的名称

另一个php脚本可能看起来像这样

    <?php //Site root variable; ?>
<?php require_once("../includes/site_init.php"); ?>

<!DOCTYPE HTML>

<html lang = "en">
    <head>
    <meta charset = "UTF-8">
    <meta name = "viewport" content = "width = device-width, initial-scale = 1">
    <title>Creativity Optimized.</title>
    <script src="https://code.jquery.com/jquery-3.1.0.min.js"   integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s="   crossorigin="anonymous"></script>
    <script src="https://npmcdn.com/imagesloaded@4.1/imagesloaded.pkgd.min.js"></script>
    <script src = "_scripts/main.js"></script>
    <!-- <script src = "_scripts/custom.js"></script> -->
    <script src="https://unpkg.com/masonry-layout@4.1/dist/masonry.pkgd.min.js"></script>
    <link rel="stylesheet" href="_css/custom.css">
    <link href="https://fonts.googleapis.com/css?family=Titillium+Web:400,400i,600,700&subset=latin-ext" rel="stylesheet">
    <link rel='shortcut icon' href='_images/favicon.png'>
    </head>

    <body>



        <?php //Header include; ?>
        <?php require("../includes/header_include.php"); ?>


        <section class = "hero">

            <div class = "heroOverlay"></div>

            <ul class = "heroText">

            </ul>

            <ul class = "heroNav">

            </ul>

        </section>



        <section class="welcome-text-container">
            <h1>Welcome to MP</h1>
            <p class="welcome-text">
                MP Creations® is a unique advertising agency and visual design studio.
                We create visual content for almost any medium to tell compelling stories for our clients.
                Our methods rely on creative and strategic thinking. We do it with passion, love and care. See you soon.
            </p>
        </section>

        <div class="content-heading-container">

            <h1 class="content-heading">why us?</h1>

        </div>

        <section id = "mainContent">
                <a href="work.php" title="Forward thinking" class="item-buttons">
                    <img src="_assets/mp_forward_thinking.png" alt="forward thinking" />
                </a>
                <a href="work.php" title="Lets work together" class="item-buttons">
                    <img src="_assets/mp_work_together.png" alt="working together" />
                </a>
                <a href="work.php" title="Projects to play" class="item-buttons">
                    <img src="_assets/mp_play_projects.png" alt="play projects" />
                </a>
                <a href="work.php" title="Nesletter" class="item-buttons">
                    <img src="_assets/mp_newsletter.png" alt="working together" />
                </a>

        </section>


        <section id = "workPreview">
            <div class = "sectionGrids">
                <h2><span>Recent Developments</span></h2>
                <div class = "grid" >

                    <?php $all_portfolio_items = PortfolioItem::find_all();
                        foreach ($all_portfolio_items as $item) { ;?>
                            <div class="grid-item">
                                <a href=work.php data-jobID = '<?php echo $item->id; ?>'>
                                    <img class="grid-img-hover" src='<?php echo '_portfolio-items'.DS.$item->filename; ?>'/>
                                    <div class="title-wrap-hidden"><p class="job-name-hidden"><span><?php echo $item->job_id; ?></span></p></div>
                                    <div class="title-wrap"><p class="job-name"></p></div>
                                </a>
                            </div>
                        <?php ; } ?>

                </div>

                <p><a href="work.php">See More Creations</a></p>
            </div>
        </section>

        <?php //Footer include; ?>
        <?php require("../includes/footer_include.php"); ?>

        <?php
            // chdir("_images");
            // $file = "somefile.txt";
            // $handle = fopen("$file","wt");
            // fwrite($handle,"peaches and cream");
            // fclose($handle);
        ?>


        <script>
        $(document).ready(function(){
            $(document).on('mouseenter', '.grid-item', function(){

                var container = $(this);
                var jobId = container.children().find('.title-wrap-hidden').text();

                // AJAX request
                $.ajax({
                    url: 'db_lookup.php',
                    type: 'POST',
                    data: {jobId: jobId},
                    success: function(data) {
                        // success
                        container.find('.title-wrap').html('<p class="job-name">'+ data +'</p>');
                                        console.log(data);
                    },
                    error: function(jqXHR, textStatus, errorThrown){
                        // error
                        alert(errorThrown);
                    }
                });
            });


                $(document).on('mouseleave', '.grid-item', function(){

              var container = $(this);
              container.find('.title-wrap').html('<p class="job-name"></p>');

        });
        });
        </script>

</body>

</html>

我会将作业ID直接写入图像中:

    <?php require_once("../includes/site_init.php");
require_once("../includes/site_init.php");

if(isset($_POST['jobId']) && $_POST['jobId'] !==NULL && $_POST['jobId'] !==0){
  $job_id = $_POST['jobId'];

  $portfolio_item_name = Job::find_by_sql('SELECT name FROM '.'job'." WHERE id = '" . $job_id . "' LIMIT 1");
  echo $portfolio_item_name[0]->name;
}else {
  echo 'result failed';
}
?>

window.onload=function(){
imgs=document.getElementsByTagName(“img”);
函数(let img){
img.onmouseover=函数(){
jobid=img.jobid;
$.ajax({
url:“yourtTitle.php”,
方法:“获取”,
数据:{a:jobid},
}).完成(功能(数据){
警报(数据);
});
});
};
});
};
您必须在jquery.com上下载jquery

还有你的php

<img src="img.jpg" jobid="test">


<script href="jquery.min.js"></script>
<script>
window.onload=function(){
imgs=document.getElementsByTagName("img");
 imgs.forEach(function(let img){
    img.onmouseover=function(){
    jobid=img.jobid;
    $.ajax({
       url:"yourtitle.php",
       method:"GET",
       data:{a:jobid},
       }).done(function(data){
       alert(data);
    });
    });
    };
    });
   };
   </script>

您可以使用这个Php脚本

function createRequest() {
    try {
        request = new XMLHttpRequest();
    } catch (tryMS) {
        try {
            request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (otherMS) {
            try {
                request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (failed) {
                request = null;
            }
        }
    } 
    return request;
}

window.onload =initpage;

function initpage(){
    $(".job-name").mouseover= fooFunction;
}

function fooFunction(){
    request=createRequest();
    if(request ==null){
        alert("Error");
    }else{
        var jobID=$(this).text() ;
        var jobId= escape(jobID);
        var url = "yourPhpScript.php?n="+jobId;
        request.onreadystatechange =  function_you_want_to_run_on_success;
        request.open("GET",url,true);
        request.send("null");
    }
}
希望这有帮助:)

您可以使用并将
$item->job\u id
异步发送到PHP页面。解决办法是,

  • 将下面的jQuery代码放在结尾标记的正上方,如下所示:

    $b=$_GET['n'];
    
    $query="SELECT * FROM fooTable WHERE colum_name='$a'";
    $result=mysqli_query($d_connection_objject,$query);
    

什么是img.href?也不熟悉“let”,我会查一下,我会把onclick改为onmouseover,对吗?但是看到img标记没有href属性,这是从哪里来的?还有,传递给AJAX的作业id在哪里?我是AJAX新手,所以我可能会问一些愚蠢的问题。我一直得到一个空数组作为查询结果,比如“var jobId=$(this).parent().find('.title wrap').text();”没有保存值,我尝试使用原始数字作为job_id,效果很好。知道问题是什么吗?@PatrickTraile这可能是因为您的实际代码块可能与您在问题中给出的代码块不同。根据给定的代码片段,它对我来说工作正常。@PatrickTraile如果您要在
.grid item
上绑定mouseover事件,那么使用它获取jobId,
var jobId=$(this).children().find('.title wrap').text()。然而,由于您将它绑定到
容器上,而不是图像上,因此它会稍微给您带来不寻常的结果。此外,我用我的代码片段测试了你的代码,它工作得很好。@PatrickTraile嗯,在这种情况下,你需要稍微修改一下jQuery,@PatrickTraile这是一个逻辑错误。查看您的
mouseleave
事件,您正在执行
.html(“

”)。因此,当您第一次将鼠标放入div元素时,它将在那里显示您的
数据,但当您的鼠标离开div区域时,将触发一个事件并将其清空

中没有文本的内容将放在title wrap div中。因此下次它将不起作用,因为现在没有
jobId
$b=$_GET['n'];

$query="SELECT * FROM fooTable WHERE colum_name='$a'";
$result=mysqli_query($d_connection_objject,$query);
<!--YOUR CODE-->                

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> 
<script>
    $(document).ready(function(){
        $(document).on('mouseover', '.grid-img-hover', function(){
            // job id
            var jobId = $(this).parent().find('.title-wrap').text();

            // AJAX request
            $.ajax({
                url: 'yourpage.php',
                type: 'POST',
                data: {jobId: jobId},
                success: function(data) {
                    // success
                    alert(data);
                },
                error: function(jqXHR, textStatus, errorThrown){
                    // error
                    alert(errorThrown);
                }
            });
        });
    });
</script>
</body>
</html>
require_once("../includes/site_init.php");

if(isset($_POST['jobId'])){
    $job_id = $_POST['jobId'];

    $portfolio_item_name = Job::find_by_sql('SELECT name FROM '.static::$table_name." WHERE id = '" . $job_id . "' LIMIT 1");
    echo $portfolio_item_name->name;
}