Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt sprawdzający czy w bazie jest dany rekord
Forum PHP.pl > Forum > Przedszkole
Ascoran
Witam,

Szukałem w google ale niestety nie znalazłem nic co mnie interesuje.
Otóż potrzebuje skrypt który sprawdza czy dany rekord jest dostępny w bazie danych natomiast jeśli jest to chciałbym żeby wyświetlił się komunikat "Prawidłowy" oraz żeby w bazie obok tego rekordu pojawiła się automatycznie data i godzina o której rekord został wykorzystany i przy próbie kolejnego wpisania tego rekordu pojawiła się informacja "Ten kod został już wykorzystany: //tutaj data wykorzystania".

Tak mniej więcej powinno to wyglądać, ktoś poratuje?

Nie liczę na gotowca, na bazie danych zbytnio się nie znam więc stąd moje pytanie, orientuje się za to w php smile.gif
Kshyhoo
Przenoszę do odpowiedniego działu.
Ascoran
Dziękuje za przeniesienie.

Zapomniałem dodać że bardziej interesuje mnie to jak to zrobić żeby skrypt sprawdzał czy kod został już wykorzystany - tzn czy jest dodana data i godzina i właśnie tego nie potrafię wykonać.

Może użyję przykładu:

W bazie jest dodany kod 001

na stronie wpisuje kod 001 - wyświetla "POPRAWNY" //w tym samym czasie funkcja dodaje do innego pola datę oraz godzinę "wykorzystania" kodu

Znowu chcę wpisać kod 001 - wyświetla "Kod wykorzystany //data i godzina

Własnie nie wiem jak wykonać że jeżeli wartoś w polu data jest "0" i "kod" (w tym samym rekordzie) jest poprawny - wyświetla napis "POPRAWNY" a jeśli "kod" jest poprawny, natomiast wartość w polu data = data i godzina wykorzystania kodu - wyświetla inny komunikat.

Myślę że wystarczająco to opisałem.
Pozdrawiam
patwoj98
Odpowiednio utworzona baza - id,kod,time
Wprowadzasz dane i tworzysz funkcję tak jak opisałeś wink.gif
Ty wiesz jak to zrobić, ale chyba masz za małą wiedzę (tak coś czuję).
Ascoran
Właśnie jeśli chodzi o te komendy do wykonywania pewnych czynności w bazie danych to jestem kompletnie zielony i dlatego pytam smile.gif

mam bazę id_bilet, kod, data z czego id_bilet jest kluczem podstawowym.

Znalazłby się jakiś poradnik pomoże odpowiednią funkcję stworzyć?
Wazniak96
W najprostszy sposób:

  1. $data = mysql_fetch_assoc(mysql_query("SELECT * FROM kody WHERE kod='$kod'"));
  2.  
  3. if($data['czas'] == 0)
  4. {
  5. echo("poprawne");
  6. mysql_query("UPDATE kody SET czas=time() WHERE kod='$kod'");
  7. }
  8. else
  9. echo("niepoprawne");
patwoj98
Pozwolę sobie poprawić

  1. $data = $mysqli->query("SELECT * FROM kody WHERE kod='$kod'";
  2. $data = $mysqli->fetch_assoc();
  3. if($data['czas'] == 0)
  4. {
  5. echo("poprawne");
  6. mysqli->query("UPDATE kody SET czas=time() WHERE kod='$kod'");
  7. }
  8. else
  9. echo("niepoprawne");


Pamiętajmy, że już niedługo MYSQL przestaje istnieć.
Wazniak96
Napisałem w najprostszy sposób..

Prawie każdy kto zaczyna swoją przygodę z MySQL zaczyna od mysql_* więc... Poza tym autor nie napisał z jakiego modułu korzysta więc skorzystałem z tego najbardziej znanego.

W roli ścisłości bodajże z mysql_* zrezygnowano od wersji PHP 7
olszam
Cytat(Wazniak96 @ 31.10.2015, 21:31:14 ) *
Napisałem w najprostszy sposób..

Prawie każdy kto zaczyna swoją przygodę z MySQL zaczyna od mysql_* więc... Poza tym autor nie napisał z jakiego modułu korzysta więc skorzystałem z tego najbardziej znanego.

W roli ścisłości bodajże z mysql_* zrezygnowano od wersji PHP 7

mysqli_* strukturalnie jest tak samo w kodzie jak mysql_* więc wystarczy dodać tylko jedną literkę choć i tak polecam PDO, więcej możliwości biggrin.gif
Wazniak96
Przyganiał kocioł garnkowi.. Oczywiście, że PDO jest lepszym modułem do połączenia z bazą.

Swoją drogą chyba nawet nigdzie nie widziałem w kodzie by ktokolwiek używał mysqli w sposób inny niż obiektowy. wink.gif

Dobra bo się OffTop robi tongue.gif
Ascoran
Dzięki za odpowiedzi,
Obecnie potrzebuje pomocy tylko z "dodaniem" daty wykorzystania kodu

mam takie tabele:
id
kod typ int
czas typ datetime

Chcę aby przy pierwszym wpisaniu kodu dodawała się data i godzina i własnie tego fragmentu nie potrafię wykonać

tzn jeżeli w polu czas jest wartość "0000-00-00 00:00:00" wtedy dodajemy obecną datę i godzinę a jeżeli wartość jest inna to wyświetla takową wartość na stronie błędu np: "Kod wykorzystany: 2015.11.01 12:12:00"

Ktoś ma pomysł jak to wykonać? Bo niestety teraz nie mam pojęcia jak to zrobić.
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.