php一段mysql语句的写法,在线等!
<?php$lmbs="10,20,30,40,50,60,70,80,90";?>我想从mysql中调用数据替代10,20,30,40,50,60,70,80,90这些...
<?php
$lmbs = "10,20,30,40,50,60,70,80,90";
?>
我想从mysql中调用数据替代10,20,30,40,50,60,70,80,90这些内容,注意:表名是tao,字段有id、value,将value字段最新的9条数据调用出来按正序排列,然后每个数字之间加上逗号,特别注意:最后一个数字后面不能加逗号,不然我的代码会执行出错。
麻烦高手帮我写出对应的调用语句,以及将变量对应的填入到php代码里面的代码,越详细越好,拜托了!
在线等,忘不吝指教!非常非常感谢! 展开
$lmbs = "10,20,30,40,50,60,70,80,90";
?>
我想从mysql中调用数据替代10,20,30,40,50,60,70,80,90这些内容,注意:表名是tao,字段有id、value,将value字段最新的9条数据调用出来按正序排列,然后每个数字之间加上逗号,特别注意:最后一个数字后面不能加逗号,不然我的代码会执行出错。
麻烦高手帮我写出对应的调用语句,以及将变量对应的填入到php代码里面的代码,越详细越好,拜托了!
在线等,忘不吝指教!非常非常感谢! 展开
3个回答
展开全部
$conn = mysql_connect("localhost", "用户名", "密码") or die("不能连接数据库"); //连接数据库,自己替换参数
mysql_select_db("数据库名", $conn);
mysql_query("set names 'UTF-8'");
$sql = "select * from tao order by id desc limit 9"; //SQL语句,取最新的,一般都是ID自增,所以按ID倒叙取9条
$result = mysql_query($sql);
$data = array();
while($row = mysql_fetch_array($result)){
$data[] = $row['value']; //将取出的9条数据的 VALUE 值存入数组
}
sort($data); //将数据按升序排列(要确保VALUE字段是 INT 型)
$str = join(',', $data); //以逗号分割生成字段串
自己替换下数据库连接的参数,有问题请追问,
以上~
追问
真是高手!非常感谢,问题已经基本解决啦,太高兴了!
不过有个小问题,我不是想把value的值按照正序排列,而是想按照对应的id的大小正序排列,请问应该怎么对应的修改?
期待您帮我解答,谢谢!!!
追答
按照ID的大小升序排列,是指ID越小的,VALUE就放在最前面?
把底下这段替换掉,如果想让ID大的VALUE值在前面,那就在while循环里直接用 $data[] = $row['value'],
如果想让ID小的VALUE值在前面,那就用 array_unshift($data, $row['value']);
while($row = mysql_fetch_array($result)){
//$data[] = $row['value']; //将取出的9条数据的 VALUE 值存入数组,按ID倒叙存入
//取出来的数据是按ID倒叙排序的,所以这块是把先出来的ID大的VALUE值放进数组,后续的VALUE值依次插入数组最前面,就能形成ID最小的值,VALUE在最前面了
array_unshift($data, $row['value']);
}
$str = join(',', $data); //以逗号分割生成字段串
有问题再追问吧,
展开全部
//用select查出最新的9条
$sql="select * from tao order by inputtime desc limit 9"; //按时间最新的9条
//得出资源结果集是个数组,先不管,把$lmbs拆了
$arr=explode(',',$lmbs);
//$arr也是一个数组
//这时我们再一起给他循环替换
foreach($arr as $key $val){
$arr[key]val=$result[$key];//将数组给换成数据库查出的对应值
}
//最后再给重组
$newarr=join(',',$arr);//这样得出的新字符串就是了。代码你要具体实现,说个方法给你,望采纳,累死我了
追问
我只是想把数据库调用出来的value的值按照10,20,30,40,50,60,70,80,90这样的格式替换$lmbs里面对应的值,能帮忙具体写下吗?解决以后我愿意把所有的分全送上!拜托您了,我技术不行!谢谢!!!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的每个数字之间指的是那个数字,是这9条记录的id吗
如果是这样的话你可以这样:
$list = array() //获取的数据
foreach($list as $val){
$arr[] = $val['id'];
}
$need_str = join(',', $arr); //这样就可以获取到类似10,20,30,40,50,60,70,80,90的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询