Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] dwie możliwości zapisu do bazy
Forum PHP.pl > Forum > PHP
M@X
Witam.
Mam w bazie pole typu 'date'.
Mam zwykły formularz gdzie jest:
  1. INSERT INTO news(id,date) VALUES(NOW())

Czyli po zapisaniu do bazy idzie data dzisiejsza.
Jednak chciałbym dodać w formularzu pole na wpisanie daty ręcznie, ale chciałbym aby to działało tak że jak w formularzu pole input będzie miało wpisaną datę to żeby do bazy zapisywała się wpisana data, a jeśli pole będzie puste to żeby zapisywał dzisiejszą NOW()
kubek3898
Jeśli data ma być w formacie np. DD:MM:RR to:

  1. <form action="" method="post">
  2. <input type="text" name="data />
  3. <input type="submit" name="submit" /></form>


a teraz w PHP

  1. if(isset($_POST['submit'])
  2. {
  3.  
  4. $data = date("d.m.Y, H:i", $_POST['data']);
  5.  
  6. $query = "INSERT INTO news (data) values ('".$data."')";
  7.  
  8. $query2 = "INSERT INTO news (data) values (NOW())";
  9.  
  10. if(empty($_POST['data']))
  11. {
  12. mysql_query($query2);
  13. }
  14. else
  15. {
  16. mysql_query($query);
  17. }
  18. }



Pole data w bazie najlepiej by było typu text.

W formularzu podajesz czas w formacie unixowym (timesamp)

No i najpierw musi być połączenie z bazą wink.gif

Pisałem z telefonu, ale myślę, że błędów nie ma.
Konochamaru
  1. <?php
  2. //index.php
  3. $dzien = $_POST['dzien'];
  4. $miesiac = $_POST['miesiac'];
  5. $rok = $_POST['rok'];
  6.  
  7. If(isset($dzien) && isset($miesiac) && isset($rok)){
  8. $date = $dzien.'-'.$miesiac.'-'.$rok;
  9.  
  10. //Linia zapisu do bazy
  11. }else{
  12. $date = date('d-m-y');
  13. //Linia zapisu do bazy
  14. }
  15. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.