@Ainur100

Как правильно вывести записи из бд(MySql,PHP)?

Всем доброго времени дня! Возник вопрос. У меня есть кусок кода,который выводит записи из бд
while($hero2 = mysqli_fetch_assoc($hero1))
    {
     
$time_now = strtotime($hero2['cron1']);
$time_need = strtotime($hero2['cron2']);
     
if($time_need>=$time_now ){
$t_s= date("H:i ",75600-($time_need-$time_now));
}
else
$t_s= date("H:i ",75600-($time_now-$time_need));
       echo "[".str_replace(":",".",$t_s).",]";
 }

Все выводится в виде [23.00 ,][00.00 ,][12.00 ,][09.00 ,]
Как сделать так,чтобы выводилось [23.00 ,00.00 ,12.00 ,09.00 ] ? Причем без запятой после последней записи.
Заранее спасибо
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
@alexalexes
Накопите промежуточные строки в $out_arr, соедините элементы массива через разделитель join-ом и подайте на вывод.
$out_arr = array(); 
while($hero2 = mysqli_fetch_assoc($hero1))
    {
     
$time_now = strtotime($hero2['cron1']);
$time_need = strtotime($hero2['cron2']);
if($time_need>=$time_now ){
$t_s= date("H:i ",75600-($time_need-$time_now));
}
else
$t_s= date("H:i ",75600-($time_now-$time_need));
       $out_arr[] = str_replace(":",".",$t_s);
 }
echo "[".join(' ,',  $out_arr).']';
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
romanko_vn
@romanko_vn
echo "[";

while($hero2 = mysqli_fetch_assoc($hero1)){
	$time_now = strtotime($hero2['cron1']);
	$time_need = strtotime($hero2['cron2']);
	
	if	($time_need>=$time_now ){
		$t_s= date("H:i ",75600-($time_need-$time_now));
	}
	else {
		$t_s= date("H:i ",75600-($time_now-$time_need));
	}

	echo str_replace(":",".",$t_s).",";
}

echo "]";
Ответ написан
Комментировать
@DanKud
$arr = [];
$show = false;

while ($hero2 = mysqli_fetch_assoc($hero1)) {
    $time_now = strtotime($hero2['cron1']);
    $time_need = strtotime($hero2['cron2']);

    if ($time_need >= $time_now) {
        $t_s = date("H:i ", 75600 - ($time_need - $time_now));
    }
    else {
        $t_s = date("H:i ", 75600 - ($time_now - $time_need));
        if (!$show) $show = true;
        $arr[] = str_replace(":", ".", $t_s);
    }
}

if ($show) {
    echo '[' . implode(',', $arr) . ']';
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы