我有一个任务是使用jquery幻灯片而不是动画脚本从mysql数据库中滑动图像。幻灯片应该至少显示最近上传的十张图片。有了这个我首先写了一个随机查询
mysql_query("select * from tblname order by rand() limit 1);
但正如预期的那样,它随意挑选图像,无论它何时被发布,当然它不是最近的十个。经过一番思考后,我现在必须先运行一个查询来获取最近的十个
mysql_query("select * from tblname order by ID limit 10);
while($row=mysql_fetch_array($sql){
$slideid=$slideid.",".$row['recordid'];
}
这当然会导致此订单的变量
$var="23,22,24,34,27,78,56,87,98,55";
我尝试像数组一样处理它,但它没有给出任何正面结果,因此我遇到了如何选择这些数字并将其用于幻灯片的问题
答案 0 :(得分:5)
$myArr=explode(',',$var);
sort($myArr);
for($i=0;$i<count($myArr);$i++)
{
echo $myArr[$i];
}
编辑:为了更有效地使用:
$myArr=explode(',',$var);
sort($myArr);
foreach ($myArr as $val)
{
echo $val;
// Or do whatever else you want with each one.
}
编辑2:请参阅下面关于效率vs for循环与意外结果的评论。 :)
答案 1 :(得分:1)
$var="23,22,24,34,27,78,56,87,98,55";
$arr = explode(',',$var);
foreach ($arr as $val) {
// work with $val
}
explode
将字符串拆分为数组
答案 2 :(得分:1)
根据您的评论,我将提供我的2p混音
这就是我所做的$ slideid =“23,22,24,34,27,78,56,87,98,55”; $ arr = 爆炸( '',$ slideid); foreach($ arr as $ val){//让我们得到 表单中的变量$ rs = mysql_query(“SELECT * FROM tblname WHERE id ='$ val'“)或die(mysql_error()); while($ row = mysql_fetch_array($ rs)){echo“&lt; img src ='image / $ image'&gt;”; } 使用jquery幻灯片
逐个显示图像
现在我认为我们正在浪费时间处理爆炸这个变量,因为mysql有漂亮的IN()函数(可能在其他数据库中我不知道)
$slideid = "23,22,24,34,27,78,56,87,98,55";
$rs = mysql_query("SELECT * FROM tblname WHERE id IN({$slideid})") or die(mysql_error());
while ($row = mysql_fetch_assoc($rs))
{
echo "<img src='image/{$row['image']}' />";
}
我希望这会有所帮助
答案 3 :(得分:0)
1)将字符串分解为数组,并在逗号上分割。
2)您没有说是否要将数字重新排序为数字顺序,或者按照它们已经存在的顺序处理它们。如果是前者,请使用sort($arr);
对数组进行排序
3)按顺序循环遍历数组并对每个数字执行某些操作
$str = '1,2,3,4,5,6';
$arr = explode(',', $str);
foreach($arr as $num) echo $num.'<br />';
请注意,如果逗号后有空格更改,则更好的选择是preg_split
而不是explode
,因为这更具动态性。
$arr = preg_split('/, ?/', $str);
答案 4 :(得分:0)
您可以使用php explode 功能
来实现此目的$ pieces = explode(“,”,$ var);
echo $ pieces [0]; // piece1
echo $ pieces 1; // piece2
echo $ pieces [n]; //片段
答案 5 :(得分:0)
我认为你需要获得关于变量顺序的顺序结果
$slideid = "23,22,24,34,27,78,56,87,98,55";
$rs = mysql_query("SELECT * FROM tblname WHERE id IN({$slideid}) ORDER BY FIELD(id, {$slideid}) ") or die(mysql_error());
while ($row = mysql_fetch_assoc($rs))
{
echo "<img src='image/{$row['image']}' />";
}