Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Inkrementacja w bazie danych
Dyshoo
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 9.10.2007

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


Witam
Jak zrobić skrypt, który działałby jak "skarbonka". Czyli użytkownik klika na jakis link, ten go przekierowuje do skryptu, a skrypt dodaje do MySQL informacje ze dodano np. 1 gr. Za każdym kliknięcim liczba by rosła 1,2,3,4 itd. Chciałbym też dać ograniczenie, ze np. jezeli liczba bedzie wynosiłą 50 to skrypt wyświetli komunikat, że nie można wiecej dodawać.
Z góry dziękuję za pomoc smile.gif
Powód edycji: dodalem tag i zmieniłem temat (cysiaczek)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
galileox86
post
Post #2





Grupa: Zarejestrowani
Postów: 59
Pomógł: 9
Dołączył: 16.06.2007
Skąd: Bytom

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


Rozwiazan moze byc wiele wydaje mi sie najprostrze

strona.php
tutaj oczywiscie mozesz sobie najpierw pobrac te dane ale pisze to juz twoja kwestnia nie wiem jak chcesz to wyswietlic wiec tylko daje linka do
skryptu php ktory wroci spowrotem na ta strone jesli wszytko poszlo ok natomiast jesli cos pojdzie nie tak to wyswietli co sie stalo
  1. <a href='dodaj.php'>dodaj</a>


dodaj.php
  1. <?php
  2. $arPoprzedniaStrona = explode('/',$_SERVER["HTTP_REFERER");
  3.  
  4.  
  5. // Wykona sie tylko i wylacznie gdy poprzednia strona byla taka jaka sobie zarzada
    les 
  6. if($arPoprzedniaStrona[sizeof($arPoprzedniaStrona)-1] == 'strona.php') {
  7.  // Połacz sie z baza
  8.  
  9.  // pobierz aktualna ilosc klikniec 
  10.  
  11. if( $aktualna_ilosc <50 ){ 
  12.  
  13. $aktualna_ilosc++;
  14.  
  15. // dodanie nowej wartosci $aktualna_ilosc do bazy danych
  16.  
  17. header("Location: strona.php");
  18.  
  19. } else {
  20.  
  21.  echo "maksimum 50 zostal osiagniete"; 
  22.  
  23. }
  24.  
  25. } else {
  26.  echo "Wywołanie zostało wykonane z nieprawidłowej strony";
  27. }
  28. ?>


--------------------
Odpowiedziałem? Pewnie streamuję http://livecoding.tv/galileoprime.

Chcesz abym odpowiedział właśnie na Twoje pytanie? Napisz do mnie wiadomość prywatną, prócz odpowiedzi możesz zobaczyć jak rozwiązuję Twój problem.
Go to the top of the page
+Quote Post
Dyshoo
post
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 9.10.2007

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


Jak pobrać aktualną ilość kliknięć?
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #4





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Musisz mieć wszystko oparte na MySQL, manual zawsze pomocny: tutaj i tutaj smile.gif Troszkę samodzielności, postaraj się napisać coś sam.

Ogólnie to jeśli masz w tabeli kliknięcia to wystarczy pobrać rekord odpowiedzialny za kliknięcie, a po kliknięciu zwiększać go o jeden.


--------------------
Go to the top of the page
+Quote Post
Dyshoo
post
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 9.10.2007

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


Skrypt zapisu danych do tabeli to już mam. Nie wiem tylko jakiego rodzaju ma być pole w tabeli i jak zrobić to co powiedziales smile.gif
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #6





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Jeśli kliknięć będzie bardzo dużo to zrób jako INTEGER, ogólnie pole musi reprezentować liczby.


--------------------
Go to the top of the page
+Quote Post
Dyshoo
post
Post #7





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 9.10.2007

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


Juz sobie poradzilem winksmiley.jpg

  1. <?php
  2.  
  3. mysql_query("UPDATE tabela SET pole = pole+1;");
  4.  
  5. ?>


Ten post edytował Dyshoo 9.01.2008, 01:08:30
Go to the top of the page
+Quote Post
galileox86
post
Post #8





Grupa: Zarejestrowani
Postów: 59
Pomógł: 9
Dołączył: 16.06.2007
Skąd: Bytom

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


co do pytania o aktualna ilosc klikniec nie wiem czy korzystasz z bibliotek do bazy danych czy tez z mysqli wiec napisze normalnie w mysql
  1. <?php
  2. $sql = "select `pole_ilosci_klikniec` from `tablica`";
  3.  
  4. $stmt = mysql_query($sql);
  5.  
  6. $dane = mysql_fetch_assoc($stmt);
  7.  
  8. if($dane['pole_ilosc_klikniec'] < 50){
  9.  // tutaj jakis tekst ze juz jest ta ilosc klikniec
  10. }
  11. ?>


--------------------
Odpowiedziałem? Pewnie streamuję http://livecoding.tv/galileoprime.

Chcesz abym odpowiedział właśnie na Twoje pytanie? Napisz do mnie wiadomość prywatną, prócz odpowiedzi możesz zobaczyć jak rozwiązuję Twój problem.
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 Aktualny czas: 21.08.2025 - 07:16