我正在创建一个动态的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循环后回显)
答案 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))