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

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);
//清空数组
这是数据库的结构

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);

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网