преобразование дд / мм / гггг в гггг / мм / дд с использованием php и sql - PullRequest
1 голос
/ 02 ноября 2010

Я новичок в php.я думаю, что это довольно просто, но я в замешательстве.

У меня есть форма, которая запрашивает у пользователя дату, которую они выбирают, формат, который они вводят, дд / мм / гггг

связанная база данных mysql отформатирована гггг / мм / дд, насколько я понимаю, вы не можете это изменить.

Я просто пытаюсь выяснить, где я могу изменить формат даты.было бы в строке sql, которая отправляет информацию?

я нашел этот несвязанный ответ:

<?php 
$date = date("Y-m-d"); 
mysql_query("INSERT INTO date_table VALUES ('$name', '$date')", $db_connection); 
?>

но я не могу заставить это работать ...

вот некоторые фрагменты кода, который у меня сейчас есть:

// Check for night attending:
    if (empty($_POST['night_attending'])) {
        $errors[] = 'You forgot to enter the night you want to attend.';
    } else {
        $na = mysqli_real_escape_string($dbc, trim($_POST['night_attending']));
    }

.....................................

// Make the query:
        $q = "INSERT INTO guests (first_name, last_name, email, night_attending) VALUES ('$fn', '$ln', '$e', '$na')";       
        $r = @mysqli_query ($dbc, $q); // Run the query.
        if ($r) { // If it ran OK.

.....................................

<p>Night Attending: <input type="text"id="datepicker"  name="night_attending" size="10" value="<?php if (isset($_POST['night_attending'])) echo $_POST['night_attending']; ?>" /></p>

спасибо за ваше время, ребята.

alastair

Ответы [ 2 ]

7 голосов
/ 02 ноября 2010

Обновление: (на основе комментариев)

Чтобы получить значение даты из вашей формы, вы можете сделать это:

$date = date('Y/m/d', strtotime($_POST['night_attending']));

Где предполагается, что:

  • Полученные данные в действительном формате
  • Вы используете метод POST в своем теге <form> или измените его соответствующим образом.

Вам нужно использовать strtotime:

$date = date('Y/m/d', strtotime($date));
2 голосов
/ 02 ноября 2010

Я обычно использую этот код для преобразования dd/mm/yyyy в yyyy/mm/dd:

$convert = 'dd/mm/yyyy';
$converted = implode(/, array_reverse(explode(/, $convert)));

Я знаю, что для этого есть несколько встроенных функций, но я думаю, что таким образом это более настраиваемо.

...