【问题标题】:strange issue between php and jquery pluginphp和jquery插件之间的奇怪问题
【发布时间】:2013-07-03 15:51:31
【问题描述】:

我正在尝试制作一个从 mysql 数据库加载数据的动态网站 我也用过这个jquery slider

以下是完美运行的 html 标记

<div id="carousel">
                <img src="images/002.jpg" />
                <img src="images/003.jpg" />
                <img src="images/004.jpg" />
                <img src="images/005.jpg" />
                <img src="images/006.jpg" />
                <img src="images/007.jpg" />
                <img src="images/008.jpg" />
                <img src="images/009.jpg" />
                <img src="images/010.jpg" />
            </div>
            <a href="#" id="ui-carousel-next"><span></span></a>
            <a href="#" id="ui-carousel-prev"><span></span></a>

现在我已将图像 url 存储在数据库中,并想获取它们并在此处与 php 一起使用,所以我做了以下操作

echo "/*other markup code for the page which finally ends with this*/     
<div id=\"carousel\">";

        $image_name = mysql_query("SELECT * FROM images where category = 'current' ");
        $image_url = array();

        while( $image_row = mysql_fetch_assoc($image_name) )
        {
            $image_url[] = $image_row['url'];
        }

        $image_number = count($image_url);
$idi = 0;

        while($idi<$image_number)
    {
        echo "
                <img src=\""."$image_url[$idi]"."\" />";
                $idi++;
    }

    echo "</div>
            <a href=\"#\" id=\"ui-carousel-next\"><span></span></a>
            <a href=\"#\" id=\"ui-carousel-prev\"><span></span></a>
*/other markup code for the page*/";

完成此操作后,滑块将无法正常工作,我得到的是一个错误提示

TypeError: data.lastPage[i] is undefined
    if ( data.lastPage[i].get(0) === page[i].get(0) ) {

这是插件文件。

我尝试研究如何划分要回显的数据并注意是否

<div id="carousel">

单独回显

<image src="image_source" />
</div>

一起回显它可以工作,但是如果我尝试将这两者分开,就会出现错误......

【问题讨论】:

  • 无论哪种方式尝试,都请查看源代码,看看是否能发现差异。此外,你有你的图像行格式化的方式,你不需要 $image_url[$idi] 周围的引号。
  • 引号用于连接。我尝试在页面呈现后查看源代码。它没有显示任何错误。不过我会试着仔细看看。
  • 当它只是一个内部变量时,您不需要它们形成连接。只有时期。 可以正常工作。

标签: php javascript jquery html


【解决方案1】:

您在此部分以错误的方式回显变量 $image_url[$idi]

while($idi<$image_number)
{
    echo "
            <img src=\""."$image_url[$idi]"."\" />";
            $idi++;
}

上面的代码应该是这样的:

while($idi<$image_number)
{
    echo "
            <img src=\"".$image_url[$idi]."\" />";
            $idi++;
}

【讨论】:

  • 我试过了,没有任何区别。更重要的是,当我检查源代码时,它正确显示了 img 代码,但是如果我通过 firebug 查看源代码,代码似乎丢失了
【解决方案2】:

我认为你的问题在这里

while( $image_row = mysql_fetch_assoc($image_name) )
    {
        $image_url[] = $image_row['url'];
    }

这只是将您的数组设置为包含字符串“url”,仅此而已。要更正此问题,请将其调整为:

while( $image_row = mysql_fetch_assoc($image_name) )
    {
        $image_url[] = $image_row["url"];
    }

“url”将与名为 url 的列中的关联值协调。行和列 ID 作为整个字符串而不是字符串存储在 MySQL 中。

另外,这只是我,但是您在加载页面后检查过您的源代码吗?如果您是 google chrome,开发工具有一个异常计数器来查找这些错误并提供解决方案。

【讨论】:

  • 在处理关联数组时,使用什么样的引号并不重要
  • 好吧,我的错。在执行 php 之后查看构建的源代码是值得的。
猜你喜欢
  • 1970-01-01
  • 2015-12-20
  • 1970-01-01
  • 2011-08-17
  • 1970-01-01
  • 1970-01-01
  • 2011-05-25
相关资源
最近更新 更多