Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapisz, aktualizuj, potwierdź
Forum PHP.pl > Forum > Przedszkole
php__amator
Witek,

Walcze i walcze i ciągle napotykam problemy z którymi nie bardzo wiem jak sobie poradzić.
Oto kawałek kodu w którym chciałbym zamontować jakis "onclick" po którym dopiero nastąpi zapisanie danych do bazy /aktualizacja lub dopisanie nowego rekordu. Po sprawdzeniu czy istnieje w bazie nm i sn jesli jest to UPDATE jesli niema to INSERT i wtedy "onclick" potwierdzający że chcę to zrobić.
Pod diva i divb sa schowane tylko opisy stylu.
Zastanawiam sie czy takie rozwiązanie wogole ma sens, co prawda działa i robi co trzeba ale nie jest to do konca tak jak chcę.
Zależy mi na dodatkowym kliku potwierdzającym zapis i nie mam bladego pojęcia jak ... i gdzie umieścić buttony a może poprostu powinienem to zupelnie inaczej skonstruować ?

Sorry jeśli "kod" nie jest zbyt czytelny ale dopiero się uczę.

  1. $query = mysql_query("SELECT * FROM test WHERE nm='$_POST[marka]' AND sn='$_POST[model]'");
  2.  
  3. $row = mysql_fetch_array($query); $id = $row['id'];
  4. if ($row['nm'] == $marka && $row['sn'] == $model){
  5. echo $row['nm']." ".$row['sn']." - istnieje! "; $nsm = $row['sm'] + $sm; echo "razem: ".$nsm; $update = (mysql_query("UPDATE test SET sm = '$nsm', da = '$dati' WHERE id = '$id'")); if(!$update) echo $diva.'Some errors detected ...';
  6.  
  7. echo $diva.'Zapisane dane: '.$dati.'/'.$model.'/'.$marka.'/'.$nsm.'/'.$id.$divb; die();
  8. }
  9. else { $query = "INSERT INTO `test` (nm, sn, sm, dd) VALUES ('$marka', '$model', $sm, '$dati')";
  10. }
  11. }
  12. $result = mysql_query($query);
  13. if (!$result) {
  14. die(mysql_error("Cos poszło nie tak ... "));
  15. } else {
  16. echo "Rekord wysłany ! - ". date('h:i:s') . " "; die("<br /> Zrobione !!!");
  17. }
amii
To czego potrzebujesz to:
1. Przy pierwszym onclick wywołujesz funkcję JS, która w zależności czy potwierdzisz/czy nie wywołanie wywoła AJAXEm skrypt php ,który usunie lub uaktualni rekord w bazie.
2. To czy skrypt usunie czy uaktualni rekord musisz przekazać w parametrze wywołania z poziomu AJAX

Ogólnie polecam to zrobić na jQuery (prościej, przejrzyściej i nie martwisz się o zgodność z przeglądarką)
php__amator
Cytat(amii @ 5.10.2013, 21:22:23 ) *
To czego potrzebujesz to:
1. Przy pierwszym onclick wywołujesz funkcję JS, która w zależności czy potwierdzisz/czy nie wywołanie wywoła AJAXEm skrypt php ,który usunie lub uaktualni rekord w bazie.
2. To czy skrypt usunie czy uaktualni rekord musisz przekazać w parametrze wywołania z poziomu AJAX

Ogólnie polecam to zrobić na jQuery (prościej, przejrzyściej i nie martwisz się o zgodność z przeglądarką)


smile.gifsmile.gifsmile.gifsmile.gifsmile.gifsmile.gifsmile.gif

Noooo dokładnie taaak właśnie myślałem ... dzięki za pomoc ... a tak poważnie to żadne odkrycie bo mimo iż moja wiedza nie jest zbyt szeroka, zastosowanie jQuery czy JS też wydaje mi się bardzo dobrym wyjściem ale po pierwsze nie chcę łapać dziesięciu srok za ogon tylko możliwie jak najwięcej robić w czystym PHP i HTML'u a jak już się nauczę wtedy zabiorę się za JS czy jQuery albo inne Ajaxy. Powoli smile.gif



Gmerałem, gmerałem I nic nie wygmerałem.
Potrzebuję podpowiedzi jak to zrobić.
Najlepiej w PHP z minimalnym użyciem HTML albo JS, żeby nie komplikować tego zbytnio.

Jakaś pomocna dłoń ?
com
czego od nas oczekujesz? jak gotowca to zleć komuś to Ci napisze ale tak jak powiedziano onclick i inne bajery to jest js i od tego nie uciekniesz ...

o === słyszał?

$_POST[marka] naprawdę masz stałą marka?
poza tym nie wrzucaj tego na żywca filtrowanie, poczytaj o sql injection itd
php__amator
Oczekuję podpowiedzi "JAK lub JAK to powinno wyglądać", nie chcę żeby mi ktoś pisał cokolwiek, do tej pory jakoś sobie poradziłem I chciałbym żeby tak zostało bo to najlepsza droga żeby czegoś się nauczyć. Czasem jednak to co wyczytam, czy znajdę w sieci to za mało jeśli ktoś nie podpowie, naprowadzi jak dalej ugryźć temat.

Jak już wielokrotnie ktoś pisał "potrzebuję wędkę a nie rybę. Wędką nałapię sobie ryb do woli a jak dostanę rybę to zjem I dalej będę głodnym".

So ... doszedłem do wniosku, że jednak muszę zrobić jak wcześniej pisałem potwierdzenie a raczej zatwierdzenie (nie zatwardzenie) wysyłanych danych.
W tej chwili mam tylko weryfikację danych I w zależności czy przesyłane dane znajdują się w bazie to update a jeśli nie to INSERT, tyle, że dalej nie mam tego dodatkowego KLIKU że napewno chcę to zrobić.

Ponieważ w większości piszę to w PHP I wmiksowuję HTML w PHP a nie odwrotnie (I tu może błąd, może powinienem, odwrotnie ?)
dlatego nie wiem jak użyć albo jak wkleić JS w to wszystko żeby działało.

Brakuje mi doświadczenia i wiedzy - phpamator oddaje w pełni z kim masz do czynienia smile.gif

No nic, dalej będę szukał I kombinował ... może w końcu się dowiem co I jak mam zrobić.

eeeh

"o === słyszał?" - nie, a powinienem questionmark.gif

$_POST[marka] naprawdę masz stałą marka? - tak mam a dlaczego questionmark.gif

poza tym nie wrzucaj tego na żywca filtrowanie, poczytaj o sql injection itd - to bez znaczenia, to wyłącznie w celach poznawczych I nikt z zewnątrz nie ma do tego dostępu więc nie ma potrzeby się martwić o wstrzyki czy inne wynalazki. CHyba, że masz na myśli wrzucanie kodu TU na forum questionmark.gif? Jeśli tak to nie wiedziałem, że to może zaszkodzić. A jeśli miałes na myśli ten fragment kodu: ... WHERE nm='$_POST[marka]' AND sn='$_POST[model]' ... to inaczej mi jakoś nie działa wink.gif

Poczytam więc I się poprawię.
com
jak powinieneś to zrobić poniekąd napisano już kilka postów wyżej... owszem zgadzam się, ale nie nauczy Cie nikt php/js w tym jednym poście wink.gif powinieneś zawsze dla stringów stosować === i !== było o tym na tym forum już wiele razy wink.gif to nie ma znaczenia czy dla siebie czy dla kogoś jak się uczysz to ucz się od razu robić to dobrze bo potem bd sadził takie krzaki na produkcji wink.gif to czy wydrukujesz html w echo czy wpiszesz bezpośrednio zasadniczo nie robi wielkie różnicy wink.gif zacznijmy od tego czy wgl masz jakaś wiedzę z zakresu js/jquery? bo jeśli nie to nic nie da ze ktoś się tu naprodukuje...

http://www.w3schools.com/jsref/met_win_confirm.asp na początek biggrin.gif
php__amator
Prawde mowiac niewiele ....

Rozumiem, ze nie naucze sie w jednym poscie to oczywiste, wychodze z zalozenia, ze drobnymi krokami po troche
mozna sie nauczyc wszystkiego a mi sie nie spieszy. Jednak kiedy skaczesz bez sensu z miejsca na miejsce i probujesz zrobic cos na czuja, wtedy nawet niewielka podpowiedz potrafi zmienic wszystko i przyniesc efekt jakiego oczekujesz i dzieki ktoremu zrozumiesz zasade bo to chyba najwazniejsze, zrozumiec co jak dziala.
Sam pewnie wiesz, e nawet jak sie nauczysz czegos na pamiec to nie to samo co zrozumiec.
Staram sie zrozumiec jak to dziala mozliwie najlepiej - nie szybko na hurra, to nie akcja armii radzieckiej.

Dziekuje za link, bardzo przydatny, juz sie temu przygladam i juz widze ze bardzo sie przyda.

odezwe sie wkrotce smile.gif
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.