Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z dodawanie daty
watolapatryk
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 4.04.2011

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


Witam,

Mam problem z dodawaniem daty w BD

Mianowicie mam dwie tabele, jedną z danymi, drugą kopię i przy usunięciu z 1 tabeli chciałbym by jednocześnie dodawała się data do kopii, skąd nie jest nic usuwane. zapytanie wygląda następująco:

  1. $zapytanie2 = mysql_query ("UPDATE `gazeta_kopia` SET `deleted`= NOW() WHERE `id` = '".$_GET['id']."';");


wszystko działa jeżeli zmodyfikuję zapytanie i wpiszę datę z palca:

  1. $zapytanie2 = mysql_query ("UPDATE `gazeta_kopia` SET `deleted`= "2011-06-21" WHERE `id` = '".$_GET['id']."';");


Jednak to się mija z celem, żebym codziennie aktualizował kod i zmieniał datę (IMG:style_emoticons/default/smile.gif)

A samo zapytanie działa jeżeli je bezpośrednio wykonam na samej bazie. Już nie mam pojęcia co może być nie tak.

Z góry dziękuję i pozdrawiam
Go to the top of the page
+Quote Post
piotr94
post
Post #2





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

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


Wydaje mi się, że problem tkwi w formacie daty - NOW() zwraca datę w formacie: 2006-04-12 13:47:36, a Ty potrzebujesz tego bez godziny
Go to the top of the page
+Quote Post
korex
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 4
Dołączył: 2.02.2008

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


uzyj sobie
Kod
date('Y-m-d')
Go to the top of the page
+Quote Post
watolapatryk
post
Post #4





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 4.04.2011

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


Też tak myślałem na początku, ale jak wpisałem samo UPDATE w phpmyadmin czy też w programie HeidiSQL to bez problemu zmieniał datę. A nawet próbowałem za pomocą zmiennej $today = date("Y-m-d"); którą potem dawałem do zapytania. I tak samo wszystko przeleciało i żaden błąd nie wyskoczył, a data nie została zmieniona.
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Napisz lepiej dokładnie kody jakich używasz. Przykładowo drugi kod powinien wywalić parse error, zaś pierwszy wydaje sie być ok.
Używaj też mysql_error by wyśwoetlić ewentualny błąd bazy danych
Go to the top of the page
+Quote Post
watolapatryk
post
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 4.04.2011

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


Cały kod wygląda następująco:

  1. if (isset ($_GET['co']) && $_GET['co'] == 'skasuj') {
  2. $zapytanie2 = mysql_query ("UPDATE `gazeta_kopia` SET `deleted`= NOW() WHERE `id` = '".$_GET['id']."';");
  3. mysql_query($zapytanie2);
  4. $zapytanie = mysql_query ("DELETE FROM gazeta WHERE id = '".$_GET['id']."';");
  5. mysql_query($zapytanie);
  6. }

A najdziwniejsze jest to, że w innym pliku z innymi danymi zrobiłem tak samo i tam działa, a tabele wyglądają identycznie.

To tylko skopiowałem i zmieniłem nazwy.

Ten post edytował watolapatryk 21.06.2011, 12:25:42
Go to the top of the page
+Quote Post
tehaha
post
Post #7





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


najlepiej to skasuj i napisz od nowa, bo:
1. pomyliłeś apostrofy z cudzysłowami - raz używasz jednego raz drugiego -> musisz się zdecydować
2. wewnątrz zapytania wsadziłeś średnik
3. jak używasz id pochodzące z $_GET to rób rzutowanie na int czyli -> (int)$_GET['id']
Go to the top of the page
+Quote Post
watolapatryk
post
Post #8





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 4.04.2011

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


Poprawiłem, ale nadal niestety nie działa :/
Go to the top of the page
+Quote Post
tehaha
post
Post #9





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


eh, ale co to znaczy "nie działa". Zastanów się jak ktoś ma Ci pomóc jak jedyna informacja z Twojej strony to "nie działa...:/". Chcesz pomocy? ok, ale:
1. dajesz kod który używasz.
2. wklejasz wynik tzn. -> treść kodu php lub treść kodu mysql to nie jest javascript, że nie działa i jest biała strony sprawdzasz jakie są błędy lokalizujesz miejsce błędu i poprawiasz
Go to the top of the page
+Quote Post
watolapatryk
post
Post #10





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 4.04.2011

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


Cytat(tehaha @ 21.06.2011, 13:40:23 ) *
eh, ale co to znaczy "nie działa". Zastanów się jak ktoś ma Ci pomóc jak jedyna informacja z Twojej strony to "nie działa...:/". Chcesz pomocy? ok, ale:
1. dajesz kod który używasz.
2. wklejasz wynik tzn. -> treść kodu php lub treść kodu mysql to nie jest javascript, że nie działa i jest biała strony sprawdzasz jakie są błędy lokalizujesz miejsce błędu i poprawiasz


Właśnie problem w tym, że nie wyskakuje żaden błąd.
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Właśnie problem w tym, że nie wyskakuje żaden błąd.

Temat: Jak poprawnie zada pytanie
Masz tam napisane co zrobić by zobaczyć błędy oraz błędy z bazy danych. Pisałęm ci już o tym, miałeś uzyć mysql_error()


ps:
$zapytanie2 = mysql_query ("UPDATE `gazeta_kopia` SET `deleted`= NOW() WHERE `id` = '".$_GET['id']."';");
mysql_query($zapytanie2);

co to ma być? Wykonujesz mysql_query na wyniku mysql_query?
Go to the top of the page
+Quote Post
watolapatryk
post
Post #12





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 4.04.2011

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


A błąd mi wywala taki:

Warning: mysql_error() expects parameter 1 to be resource, boolean given in C:\wamp\www\gazeta\index.php on line 110
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przecież ci napisałem ze wywołujesz dwa mysql_query pod rząd i drugi korzysta z pierwszego... nie zaświeciła się zarowka?

Pozatym miałeś użyć mysql_error.

Nie:
$zapytanie2 = mysql_query ("UPDATE `gazeta_kopia` SET `deleted`= NOW() WHERE `id` = '".$_GET['id']."';");
mysql_query($zapytanie2);

a:
$zap = "UPDATE `gazeta_kopia` SET `deleted`= NOW() WHERE `id` = '".$_GET['id']."'";
$zapytanie2 = mysql_query ($zap);
echo 'zapytanie:'.$zap.' Blad:'.mysql_error();
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 29.08.2025 - 20:25