Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie rok miesiąc
pawel06281990
post
Post #1





Grupa: Zarejestrowani
Postów: 298
Pomógł: 0
Dołączył: 10.01.2014

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


Witajcie,

Mam problem ze sprawdzenie roku i miesiąca i nie wiem czy dobrze kieruje zapytanie aby podmienił ceny w bazie na statystyki.

Mój skrypt wygląda tak

Skrypt który sprawdza czy miesiąc i rok jest w bazie jeśli jest to uaktualnia ceny w bazie.

  1. $result = dbquery($link,"SELECT data FROM ".$db_prefix."zamowien WHERE data='".date("Y/m", $_POST['data'])."'");
  2. $data = dbarray($result);
  3. $rok=date("Y/m", $data['data']);
  4. if($rok >= $rok){
  5. $result = dbquery($link,"UPDATE ".$db_prefix."zamowien SET ile_zamowien=ile_zamowien +1, brutto=brutto+'".$_POST['brutto']."', netto=netto+'".$_POST['netto']."' WHERE data='".date("Y/m", $_POST['data'])."'");
  6. }else{
  7. $result = dbquery($link,"INSERT INTO ".$db_prefix."zamowien SET data='".$_POST['data']."', ile_zamowien='1', brutto='".$_POST['brutto']."', netto='".$_POST['netto']."'");
  8. }


A tu formularze które pobierają cenę netto brutto i date i dodają do bazy

  1. echo"<input type='hidden' class='form-control' name='netto' value='".$netto."' placeholder='' style='width:330px;'>";
  2. echo"<input type='hidden' class='form-control' name='brutto' value='".$brutto."' placeholder='' style='width:330px;'>";
  3. echo"<input type='hidden' class='form-control' name='data' value='".time()."' placeholder='' style='width:330px;'>";


to że dodaje do bazy to działa ale nie działa mi UPDATE do bazy nie wiem co jest nie tak. Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





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




A zescie sie uczepili bez sensu tego timestamp chlopaka... .Przeciez widac ze wklada tam timestamp...

Przeciez ma ewidentnie inne bledy takie jak:

1) if($rok >= $rok)
powaznie? Jesli 2 jest wieksze lub rowne 2? To chyba zawsze jest prawda co nie?

2)
data='".date("Y/m", $_POST['data'])."'"
A nie robi update z tego powodu. Porownujesz date timestamp do daty w formacie RRRR/MM - no nie ma szans by byly rowne. Temu nie robi update bo nie znajduje rekordu do update. Powinno byc poprostu
data='".$_POST['data']."'"

3) No i generalnie pomijajac te nieszczesne warunki w zapytaniu, to ten kod

$result = dbquery($link,"SELECT data FROM ".$db_prefix."zamowien WHERE data='".date("Y/m", $_POST['data'])."'");
$data = dbarray($result);
$rok=date("Y/m", $data['data']);
if($rok >= $rok){

Nie ma zadnego sensu... Pobierasz z bazy date, ktora jest rowna dacie z forma a potem sprawdasz czy jest rowna dacie z forma. Gdzie tu logika? Skoro sie pobralo z bazy dla tego warunku znaczy ze jest rowna no nie? A jesli chciales sprawdzic czy istnieje rekord z ta data i jesli nie to go wlozyc to wystarczy wlasnie sprawdzic obecnosc tego rekordu.

ps: przenosze
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 06:35