Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Aktualizacja daty
Khartas
post 10.06.2013, 20:16:43
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 31.03.2013

Ostrzeżenie: (0%)
-----


Witam
Napisałem skrytp, który dodaje wpisy do bazy danych. Rekord składa się z id, zmiennej i daty. Chciałbym teraz aby w przypadku wprowadzenia istniejącej zmiennej rekord został zaktualizowany tylko w polu data. Wiem, że służy do tego UPDATE ale nie wiem jak to wprowadzić.

  1. <?php
  2. include 'config.php';
  3. db_connect();
  4.  
  5. check_login();
  6.  
  7. $user_data = get_user_data();
  8.  
  9. echo '<p>Witaj <b>'.$user_data['user_name'].'</b>!</p>
  10.  
  11.  
  12. echo '<form method="post" action="index.php">
  13. <p><input type="text" value="'.$_POST['adres'].'" name="adres">
  14. <p><input type="submit" value="Zgłoś stronę">
  15.  
  16. </form>';
  17.  
  18. if(isset($_POST['adres'])) {
  19. $_POST['adres'] = clear($_POST['adres']);
  20.  
  21.  
  22. if(empty($_POST['adres'])) {
  23. echo '<p>Musisz podać adres.</p>';
  24. } else {
  25.  
  26. $result = mysql_query("SELECT Count(adres) FROM `strony` WHERE `adres` = '{$_POST['adres']}' AND `data_dodania`+28800>".time());
  27. $row = mysql_fetch_row($result);
  28. if($row[0] > 0) {
  29. echo '<p>Podany adres istnieje już w naszej bazie danych. <P>Ponownego wpisu możesz dokonać po 8 godzinach od poprzedniego.</p>';
  30. } else {
  31. mysql_query("INSERT INTO `strony` (`adres`, `data_dodania`) VALUES ('{$_POST['adres']}', '".time()."')");
  32. echo '<p>Dodano adres do bazy danych</p>';
  33. }
  34. }
  35. }
  36. db_close();
  37.  
  38. ?>
Go to the top of the page
+Quote Post
xbigos
post 10.06.2013, 21:53:19
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 27
Dołączył: 13.07.2005
Skąd: Jarocin

Ostrzeżenie: (0%)
-----


Jeśli masz możliwość i chcesz aktualizować tylko datę jeśli dany rekord istnieje to możesz użyć typu danych CURRENT_TIMESTAMP.. Bo wtedy przy dodaniu nowego rekordu (nieistniejącego) i tak doda Ci datę dodania. Jeśli nie masz możliwości to UPDATE strony SET data_dodania='Twoja data' WHERE id='twoje id' LIMIT 1

Ten post edytował xbigos 10.06.2013, 21:53:58


--------------------
Go to the top of the page
+Quote Post
MatKus
post 11.06.2013, 08:54:27
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 3
Dołączył: 27.08.2008

Ostrzeżenie: (0%)
-----


A może tak:

INSERT INTO `strony` (`adres`, `data_dodania`) VALUES ('http://jakis_adres', '".time()."') ON DUPLICATE KEY UPDATE data_dodania=values(data_dodania)

przy czym w tym wypadku pole "adres" w bazie musi być oznaczone jako unikalne (klucz główny albo unique)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.06.2025 - 01:37