Как да направя датата и часа да излизат нормално

ludasam

Registered
При мен сега излиза много странно с този код
PHP:
<?php 
$runq = mysql_query("SELECT * FROM `news` ORDER BY id DESC LIMIT 5");
while($row = mysql_fetch_assoc($runq)) {

    echo '<table class="newsList">
<tr>
<th style="border: 1px solid rgb(102, 102, 102);" align="left">
  '.$row['name'].'
</th>
</tr>
<tr>
<td style="border: 1px solid rgb(102, 102, 102);" colspan="2">
<img style="float:right;" src=" '.$row['image'].'" alt="Няма добавена снимка!" />
 '.$row['new'].'</td>
</tr>
<tr>
<td style="border: 1px solid rgb(102, 102, 102);" colspan="2"><div align="right">Публикувано на'.$row['date'].' от <a href="team.php"><strong>'.$row['author'].'</strong></a></div></td>
</tr>
</table><br />
					  ';
}
?>
</div>
</div>
</div>
</div>

Ми показва така Публикувано на12/June/20 от

Как да го направя да е на Български и да изписва всичко дата час ???
 
При добавянето трябва да имаш някъде date(); oт там промени формата на датата или най-добре в базата данни записвай timestamp(time();) и при извеждането форматираш датата както си пожелаеш :)
Пример: date("d.m.y / H:i:s", time());
 
Styl3rbg каза:
Най-добре в базата данни записвай timestamp чрез time() и при извеждането форматираш датата както си пожелаеш :)
Пример: date("d.m.y / H:i:s", time());
Това е по-добрият вариант, защото при пресмятане на дата по-лесно ще правиш сметки, тъй като е число, а не низ ... ( примерно най-новите да са първи, да изведе само от последните 2 дни и т.н. )
 
когато записваш датата го прави с функцията time() както казаха по-горе и когато вече извеждаш датата изполвай това
PHP:
<?php

	$date = date('d-M-Y | H:i',$row['date']);
	
	$date = str_replace("Jan", "Януари", $date);
	$date = str_replace("Feb", "Февруари", $date);
	$date = str_replace("Mar", "Март", $date);
	$date = str_replace("Apr", "Април", $date);
	$date = str_replace("May", "Май", $date);
	$date = str_replace("Юни", "Юни", $date);
	$date = str_replace("July", "Юли", $date);
	$date = str_replace("Aug", "Август", $date);
	$date = str_replace("Sep", "Септември", $date);
	$date = str_replace("Oct", "Октомври", $date);
	$date = str_replace("Nov", "Ноември", $date);
	$date = str_replace("Dec", "Декември", $date);

?>

Вече ти си я форматирай точно както искаш да излиза при теб и когато извеждаш датата не го прави с $row['date'] ами само $date
 
Да ама аз много не разбирам от това така ,че можели да ми редактирате вие горния код а и мога и да дам sql на news ??

PHP:
CREATE TABLE IF NOT EXISTS `news` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(35) NOT NULL,
  `new` text NOT NULL,
  `date` varchar(10) NOT NULL,
  `author` varchar(15) NOT NULL,
  `image` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Това е sql.
 
Аз бих ти предложил да ползваш TIMESTAMP за запис на дата в SQL-а :)
[sql]ALTER TABLE `news` `news` CHANGE TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP AFTER `new`;[/sql]
Има доста функции в SQL, с които да обработваш дата от такъв тип. Като почнеш от смяна самия формат да датата, до това да пресметнеш период от дата до дата. Както и, винаги ти остава резервния вариант, ако не искаш в SQL-а с PHP да си я обработиш.

PP И да, за да запишеш такъв запис, трябва да подаваш датата в точно определен формат 'Г-м-д ч:м:с', NOW(), или просто /в случая/ нищо.
 
Styl3rbg каза:
SQL тук не ни е нужен. По-добре дай кода за добавяне на новината :)

Заповядай
PHP:
 <form method="post" action="">
             Заглавие<br />
            <input type="text" name="title" style="width: 505px;"><br />
			Автор<br />
            <input type="text" name="author" style="width: 160px;"> <br />			
			Снимка<br />
            <input type="text" name="image" style="width: 260px;"> <br />
            Текст<br />
            <textarea name="new" style="width: 505px; height: 220px; margin-left: 0;"> </textarea> <br /> <br />
            <input type="submit" name="addnew" value="Публикувай новината">
        </form>
   
  <?
        if($_POST['addnew']) {
        $title = htmlspecialchars($_POST['title']);
        $author = htmlspecialchars($_POST['author']);
        $opisanie = $_POST['new'];
		$image = $_POST['image'];
        $date = date("d/F/Y");
        $sql = "INSERT INTO `news` (name, new, image, author, date) VALUES ('$title', '$opisanie', '$image', '$author', '$date')";
        $result = mysql_query($sql);
        echo "<div class='success'>Новината е добавена успешно, върнете се на началната страница: <a href='index.php?mode=index'> Начало </a></div>";
        }
        ?>
 
ludasam каза:
PHP:
 <form method="post" action="">
             Заглавие<br />
            <input type="text" name="title" style="width: 505px;"><br />
			Автор<br />
            <input type="text" name="author" style="width: 160px;"> <br />			
			Снимка<br />
            <input type="text" name="image" style="width: 260px;"> <br />
            Текст<br />
            <textarea name="new" style="width: 505px; height: 220px; margin-left: 0;"> </textarea> <br /> <br />
            <input type="submit" name="addnew" value="Публикувай новината">
        </form>
   
  <?
        if($_POST['addnew']) {
        $title = htmlspecialchars($_POST['title']);
        $author = htmlspecialchars($_POST['author']);
        $opisanie = $_POST['new'];
		$image = $_POST['image'];
        $date = date("d/F/Y");
        $sql = "INSERT INTO `news` (name, new, image, author, date) VALUES ('$title', '$opisanie', '$image', '$author', '$date')";
        $result = mysql_query($sql);
        echo "<div class='success'>Новината е добавена успешно, върнете се на началната страница: <a href='index.php?mode=index'> Начало </a></div>";
        }
        ?>

където ти пише:
PHP:
$date = date("d/F/Y");
го направи:
PHP:
$date = time();
и после виж kikity_94, какво ти е написал...
 

Горе