【发布时间】:2013-06-02 13:52:56
【问题描述】:
有没有办法一一返回与获取的行对应的字符串数组?
基本上,如果我想从数据库中检索所有行,我会这样做:
$.post('my_script.php', {id:id}, function(data){
$('#container').html(data);
});
my_script.php
<?php
$id = $_POST['id'];
$query = "SELECT image_name FROM my_list WHERE id=$id";
if($mysql_query = mysql_query($query)){
while($mysql_fetch_assoc = mysql_fetch_assoc($mysql_query)){
$mysql_result_name = $mysql_fetch_assoc['image_name'];
echo "<img src='".$mysql_result_name."'/>";
}
}
?>
关于这个的问题是,只要这个语句 (while($mysql_fetch_assoc = mysql_fetch_assoc($mysql_query))) 没有完成,它就会显示几秒钟的空白页。这对用户来说肯定是不利的。如果它们已准备好显示,我至少希望将图像一张一张地显示出来。
【问题讨论】:
-
你可能想看看这个:stackoverflow.com/q/13250976/218196.
-
一个。您说您要检索所有记录,但您的查询正在检索一个唯一的 id - 即仅一条记录(也就是说,如果您将
id=id更改为id=$id)。湾。返回纯数据(例如图像路径数组)并在客户端处理 HTML 混乱总是更好。 C。您可以通过发送多个ajax请求来一一检索。 -
imgur.com 是怎么做到的呢?如果您查看此页面(imgur.com/gallery/YHHtxfV),您会注意到右侧的侧边栏缩略图,如果您反复单击next,图像会一张一张显示,它已经足够快了。那他们怎么做呢?因为我正在寻找类似的东西。
-
@user2310422:可能是因为 id 列上没有索引,所以速度很慢?