在动态.js上循环Mysql之后我无法回显

时间:2013-10-15 05:50:05

标签: php jquery

我正在创建一个动态的js文件。但我有问题在循环mysql之后打印最后一个echo 这是来源:

header('Content-Type: text/javascript; charset=UTF-8');
@require_once"bd.php";
@require_once"Funciones/funciones.php";

echo '$(function(){
            var position=0;
            var p_control=274; 
            var num=2;
            $(".controls .left").click(function(){getafter(p_control);})
            $(".controls .right").click(function(){getnext(p_control);})
            img=$("#sliderC ul");
            function getnext(number){
                width_img=$("#sliderC ul li").width();
                if(number<1230){
                    img.animate({marginLeft: "-"+number},500);
                    p_control=number+274;
                }else if(number>$("#sliderC ul li").size()){
                    img.animate({marginLeft:0},500);
                    p_control=270;
                }
            }
            function getafter(number){//540
                width_img=$("#sliderC ul li").width();//127
                if(number>270){
                    img.animate({marginLeft:0},500);
                }


            }
        })

$(function(){
    $(".title").on("mouseenter",function(){
        msn=$(this).attr("title");//$(this).removeAttr("title");
        posicion = $(this).offset();        

        $("body").append("<div class=\'title-attr\' style=\'display:none;\'>"+msn+"<span></span></div>");

        width_o=$(".title").outerWidth();//div - objeto seleccionado
        width_t=$(".title-attr").outerWidth();//div del title

        if(width_o < width_t){
            left=(width_t-width_o)/2;
            $(".title-attr").css("left",posicion.left-left);
            $(".title-attr").css("top",posicion.top-30);
            $(".title-attr").css("display","block");
        }else if(width_o > width_t){
            left=(width_o-width_t)/2;
            $(".title-attr").css("left",posicion.left+left);
            $(".title-attr").css("top",posicion.top-30);
            $(".title-attr").css("display","block");
        }
        $(".title-attr span").css("left",(width_t-9)/2);
    })
    $(".title").on("mouseleave",function(){
        $(".title-attr").remove();

    })
})
$(function(){
    $(".relaci").click(function(){
        $(".poster").remove(".poster");
        design=$("#design");
        position=design.position();left=design.outerWidth();
        design.append("';

        echo '<div class=\"poster\" style=\"top:"+(position.top+20)+"px;left:"+position.left+"px;\"><ul>';
            $x=@mysql_query("SELECT * FROM movies ORDER by id desc  LIMIT 3");
            while($i=mysql_fetch_array($x) or die(mysql_error())){
                echo "<li>name movie: ".$i['name']."</li>";
            }
        echo '</ul></div>");
        $(".poster").fadeIn();
    })
    $(".info").click(function(){
        $(".poster").fadeOut();
        $(".poster").remove(".poster");
    })      
})';

问题是最后的'eco',不打印输出(mysql循环后回显)

2 个答案:

答案 0 :(得分:1)

删除此位:or die(mysql_error())

一旦没有要获取的行,

mysql_fetch_array将返回false。这是正常的,而不是错误。一旦它返回false,PHP就会评估or部分,告诉它在打印完最后一行后立即退出,这就是为什么你看不到最后一个回声。

答案 1 :(得分:0)

替换

while($i=mysql_fetch_array($x) or die(mysql_error()))

while($i=mysql_fetch_array($x))