Ошибка отображения даты

0

Я делаю немного php. Первое, что нужно уточнить, это то, что * - это скрытый текст, который я не хотел показывать. Я блуждал, почему каждый раз, когда я пытаюсь ввести дату, например, 29/11/2013, она появлялась на php-странице как 0000-00-00. Может кто-нибудь объяснить мне, где я поступил не так, и дать мне правильное объяснение, почему и как это работает, спасибо очень.

<html>
  <head>
    <title>XYZ</title>
  </head>
  <body>
    <h1>Insert into Database <i>XYZ</i> table <i>addressbook</i></h1>
      <form method="get" action="*********************************************      ">
        <b>ID:</b> <input type="text" name="ID"><br>
     <b>CARNAME:</b> <input type="text" name="CARNAME"><br>
        <b>FUELTYPE:</b> <input type="text" name="FUELTYPE"><br>
        <b>TRANSMISSION:</b> <input type="text" name="TRANSMISSION"><br>
        <b>ENGINESIZE:</b> <input type="text" name="ENGINESIZE"><br>
        <b>DOORS:</b> <input type="text" name="DOORS"><br>
        <b>TOTAL:</b> <input type="text" name="TOTAL"><br>
        <b>AVAILABLE:</b> <input type="text" name="AVAILABLE"><br>
        <b>DATEADDED:</b> <input type="text" name="DATEADDED"><br>
        <input type="submit">
    </form>
  </body>
</html>





<html>
  <head>
    <title>XYZ</title>
  </head>
  <body>
    <h1>Insert into Database <i>XYZ</i> table <i></i></h1>
    <?php
      $link = mysql_connect ("**********", "*********", "*********");
      mysql_select_db ("***********");

      $ID = $_GET["ID"];
      $CARNAME = $_GET["CARNAME"];
      $FUELTYPE = $_GET["FUELTYPE"];
      $TRANSMISSION = $_GET["TRANSMISSION"];
      $ENGINESIZE = $_GET["ENGINESIZE"];
      $DOORS = $_GET["DOORS"];
      $TOTAL = $_GET["TOTAL"];
      $AVAILABLE = $_GET["AVAILABLE"];
      $DATEADDED = $_GET["DATEADDED"];

      $query = "INSERT into CAR values ('$ID', '$CARNAME', '$FUELTYPE', '$TRANSMISSION', '$ENGINESIZE', '$DOORS', '$TOTAL', '$AVAILABLE', '$DATEADDED')";
      $result = mysql_query ($query);

      $query = "SELECT * from CAR";
      $result = mysql_query ($query);

      print "<table>";
      print "<tr>";
      print "<th>ID</th><th>CARNAME</th><th>FUELTYPE</th><th>TRANSMISSION</th><th>ENGINESIZE</th><th>DOORS</th><th>TOTAL</th><th>AVAILABLE</th><th>DATEADDED</th>";
      print "</tr>";
      for ($i = 0; $i < mysql_num_rows ($result); $i ++)
      {        
        $row = mysql_fetch_object ($result);
        print "<tr>";
        print "<td>$row->ID</td>";
     print "<td>$row->CARNAME</td>";
        print "<td>$row->FUELTYPE</td>";
        print "<td>$row->TRANSMISSION</td>";
        print "<td>$row->ENGINESIZE</td>";
        print "<td>$row->DOORS</td>";
        print "<td>$row->TOTAL</td>";
        print "<td>$row->AVAILABLE</td>";
        print "<td>$row->DATEADDED</td>";
        print "</tr>";
      }
      print "</table>";
      mysql_close ($link);
    ?>
  </body>
</html>
Теги:

2 ответа

0

Проверьте свой формат даты в своей базе данных Y/m/d или если он установлен на дату... Просто измените его на varchar (255), чтобы иметь возможность включать любой формат.

  • 0
    Отличный совет, спасибо за это. Просто вошел в базу данных и заметил, что я установил для нее дату, изменил ее и теперь она работает, Маринус!
0

В MySql ваши данные должны иметь формат yyyyMMdd, поэтому вы должны сначала преобразовать его, прежде чем вставлять его

$DATEADDED = $_GET["DATEADDED"];

становится чем-то вроде

$DATEADDED = date("Y-m-d", strtotime($_GET["DATEADDED"]));
  • 0
    Спасибо за помощь :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню