php怎样数据库行循环生成二维数组并替换其中的值再生成新的二维数组

include('includes/init.php');$sql="SELECT*FROM`donku_articles`";$query=$mysql->query(... include('includes/init.php');

$sql="SELECT * FROM `donku_articles`";

$query=$mysql->query($sql);

while($result[]=$mysql->fetch_row($query)){

/*foreach($result as $new){
echo $new[10].'<br>';
第10列的日期格式是这样的:2018-03-18 14:29:00
但是我不想要具体时间只要日期,
所以我想用空格把他们分开成为一个数组explode(" ",$new[10])。然后取数组[1],替换原来数组中的值
然后生成新的多维数组循环给模板,
可现在不知道怎么生成新的数组$new_result,具体代码该怎么写呢?
}*/
while($new_result){
$smarty->assign('art_recommend_row',$new_result);
}
}
unset($result);
//清空数组
这是数据库的结构
展开
 我来答
胃疼shine
2018-03-20 · TA获得超过257个赞
知道小有建树答主
回答量:295
采纳率:79%
帮助的人:133万
展开全部

select *,DATE_FORMAT(add_time,'%Y-%m-%d') as add_date from donku_articles

把sql语句改成上面这种,另外最好不要用fetch_row这种索引方式取值,可以用fetch_assoc这种关联的方式,

另外你的这个 貌似在while里面用不到foreach,,smarty引擎我没用过,按理说它的赋值 应该也不用while一个一个赋值,把$smarty->assign('art_recommend_row',$new_result);这个赋值拿到循环外面(smarty没用过,按照thinkphp yii2 这些框架来说 赋值给模板不需要放在循环里面),我按照我的想法把你的改了一下

include('includes/init.php');
$sql="SELECT *,DATE_FORMAT(add_time,'%Y-%m-%d') as add_date FROM `donku_articles`";
$query=$mysql->query($sql);
$result=[];
while($row=$mysql->fetch_assoc($query)){//这里应该是关联的形式,从你的fetch_row我猜是应该是fetch_assoc
    $result[]=$row;
}
//下面是赋值给模板
$smarty->assign('art_recommend_row',$result);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式