Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 为什么我的代码显示错误的图像?_Javascript_Mysql_Coldfusion_Coldfusion 9_Cfquery - Fatal编程技术网

Javascript 为什么我的代码显示错误的图像?

Javascript 为什么我的代码显示错误的图像?,javascript,mysql,coldfusion,coldfusion-9,cfquery,Javascript,Mysql,Coldfusion,Coldfusion 9,Cfquery,我试着自学冷融合、javascript和mysql。我创建了一个页面,用户可以点击一个图像,然后弹出一个窗口显示完整的图像。我的代码可以编译,但它始终显示图像数据库中的第一个图像。我花了很多时间在这件事上,但不知道我错过了什么。有人能给我一个如何解决这个问题的提示吗?提前感谢您的帮助 文件1:full_article_view.cfm <!--- retrieve the full article as well as its images ---> <CFQUERY NAME

我试着自学冷融合、javascript和mysql。我创建了一个页面,用户可以点击一个图像,然后弹出一个窗口显示完整的图像。我的代码可以编译,但它始终显示图像数据库中的第一个图像。我花了很多时间在这件事上,但不知道我错过了什么。有人能给我一个如何解决这个问题的提示吗?提前感谢您的帮助

文件1:full_article_view.cfm

<!--- retrieve the full article as well as its images --->
<CFQUERY NAME="myQuery1" Datasource="mydb" >
SELECT articles.article_ID, articles.article_title, articles.article_author,
        articles.article_date, articles.article_content, article_image_mapping.aim_articleID
FROM articles
INNER JOIN article_image_mapping ON articles.article_ID = article_image_mapping.aim_articleID
WHERE articles.article_ID = #URL.ID#
GROUP BY article_image_mapping.aim_articleID
</CFQUERY>

<CFQUERY NAME="myQuery2" Datasource="mydb" >
SELECT images.image_ID, images.image_thumbpath, images.image_fullpath, article_image_mapping.aim_articleID, article_image_mapping.aim_imageID
FROM images
INNER JOIN article_image_mapping ON images.image_ID = article_image_mapping.aim_imageID
WHERE article_image_mapping.aim_articleID = #URL.ID#
</CFQUERY>


<!DOCTYPE html>
<html>
<head>
    <title>Learning</title>
    <meta charset="UTF-8">
    <script Language="JavaScript">
        function popup()
        {
            settings="toolbar=yes,location=yes,directories=yes,"+
            "status=no,menubar=no,scrollbars=yes,"+
            "resizable=yes";

            MyNewWindow = window.open("full_img.cfm?toshow=images.image_ID");
        }
    </script>
</head>
<body>
    <!--- Page Title --->
    <h3>Full Article View</h3>

    <!--- Page Content --->
    <div align="left">
        <!--- Display article title, author, date, and full content --->
        <cfoutput query="myQuery1">
            <b>#ucase(myquery1.article_title)#</b>
            <hr>
            <p style="color:##848181; font-size:12px">#myquery1.article_author# :: #myquery1.article_date#</p>
            #myquery1.article_content#<br/>
        </cfoutput>
        <br>
        <!--- Display images associated with article--->
        <cfoutput query= "myQuery2">
            <a href="" onClick="popup();">
            <img src="#myquery2.image_thumbpath#" alt="image thumbnail">
            </a>
        </cfoutput>
    </div>
</body>
</html>
文件2:full_img.cfm

<CFQUERY NAME="myQuery3" Datasource="mydb" >
SELECT image_ID, image_thumbpath, image_fullpath
FROM images
WHERE image_ID = #URL.toshow#
</CFQUERY>

<cfoutput>
<img src="#myquery3.image_fullpath#">
</cfoutput>

根据我评论的链接,您应该在cfoutput查询属性中指定查询

<cfoutput query="myQuery3">
<img src="#image_fullpath#">
</cfoutput>

在弹出功能中,您正在引用images.image\u ID。这将作为images.image\u ID出现,而不是转换为ID

您可以将弹出窗口更改为传入所需的ID

 <script Language="JavaScript">
    function popup(id)
    {
        settings="toolbar=yes,location=yes,directories=yes,"+
        "status=no,menubar=no,scrollbars=yes,"+
        "resizable=yes";

        MyNewWindow = window.open("full_img.cfm?toshow=" + id);
    }
</script>
是这样的:

...WHERE articles.article_ID = <cfqueryparam value = "#URL.ID#" cfsqltype = "cf_sql_integer">

希望这能有所帮助。

我不是cf专家,但您不应该将cfoutput显示为循环迭代或结果集吗?如果有疑问,请查看您的数据。cfdump标签让这变得简单。非常感谢您的帮助!!!在我对程序进行更改后,一切都很顺利!!顺便问一下,你介意给我一些在线资源,我可以在哪里学习冷聚变=
...WHERE articles.article_ID = #URL.ID#
...WHERE articles.article_ID = <cfqueryparam value = "#URL.ID#" cfsqltype = "cf_sql_integer">