Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] weryfikacja potwierdzenia
lnn
post 16.04.2009, 00:22:12
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


Chciałem zrobić tak aby po ponownym kliknieciu w link potwierdzenia pojawiał sie komunikat o tym że juz taki id został potwierdzony, stworzyłem do tego celu kolumne confirm, ktora po kliknieciu zmienia wartosc na 1, przy wysylaniu formularza na samym poczatku ma wartosc 0 po kliknieciu linku potwierdzajacego automatycznie zmienia na 1 (UPDATE do bazy), teraz mam problem jak odpowiednio warunek napisac ;/
najpierw chce zeby sprawdzalo czy nie przekroczylo daty promocji, z tym sie uporałem, w kolejnym warunku stanalem ;/
oto to co nadziergałem:
  1. <?php
  2. // 1 sprawdza date promocji
  3. // 2 sprawdza czy juz potwierdzono jesli nie to potwierdza (zmienia wartosc confirm na 1)
  4. // 3 warunek z data<=datakoniec && wysylka maila z danymi
  5.  
  6. $data = date("d-m-Y, G:i");
  7. $data_koniec = date("17-04-2009, 21:02"); // okreslenie konca promocji
  8. // sprawdzanie potwierdz. - to cos nie dziala ;/
  9. $checkconfirm = mysql_query("SELECT COUNT(confirm) FROM formularz");
  10. $row = mysql_result($checkconfirm, 0);
  11.  
  12. if ($data>=$data_koniec) {
  13.    echo "koniec promocji! <br />";
  14.    }
  15. elseif ($checkconfirm==1) {
  16.    echo "ten id juz potwierdzono!<br />";
  17. }
  18. elseif ($checkconfirm<=0) {
  19. // zmiana rekordu na 1
  20. $confirm = 1;
  21. mysql_query("UPDATE formularz SET confirm='$confirm' WHERE id='".$_GET['id']."' ")
  22.    or die('Błąd zapytania');
  23.    echo '<br />Dane zostały zaktualizowane - tzn ze zmieniono confirm na 1';
  24. }
  25. ?>

helllp! bo mnie odmozdzenie nocne zlapalo! smile.gif dzieki z gory za pomoc!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
DREEMus
post 16.04.2009, 00:28:03
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


Inn dla kogo sprawdzasz potwierdzenie, skoro COUNT liczy Ci wszystko questionmark.gif

  1. <?php
  2. $checkconfirm = mysql_query("SELECT COUNT(confirm) FROM `formularz` WHERE `id` = '.$_GET['id'].'");
  3. ?>


Ten post edytował DREEMus 16.04.2009, 00:29:32


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
Go to the top of the page
+Quote Post
lnn
post 16.04.2009, 00:29:21
Post #3





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


wlasnie o to chodzi ze mam problemy z tworzeniem zapytan SQL ;/ i to był głowny problem tego wątku ;P wstydnis.gif
Go to the top of the page
+Quote Post
DREEMus
post 16.04.2009, 00:35:51
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


  1. <?php
  2. // 1 sprawdza date promocji
  3. // 2 sprawdza czy juz potwierdzono jesli nie to potwierdza (zmienia wartosc confirm na 1)
  4. // 3 warunek z data<=datakoniec && wysylka maila z danymi
  5.  
  6. $data = date ("d-m-Y, G:i");
  7. $data_koniec = date ("17-04-2009, 21:02"); // okreslenie końca promocji
  8. // sprawdzanie potwierdzenia
  9. // wylicza czy dany ID jest już w bazie, jeżeli tak dostajesz 1, jeżeli nie dostajesz 0
  10. $checkconfirm = mysql_query ( 'SELECT COUNT(confirm) FROM `formularz` WHERE `id` = "'.$_GET['id'].'" ' )
  11.    or die ( 'Błąd w liczeniu :)' );
  12. $row = mysql_result ( $checkconfirm, 0 );
  13.  
  14. if ( $data >= $data_koniec ) {
  15.    echo 'koniec promocji! <br />';
  16.    }
  17. elseif ( $checkconfirm == 1 ) {
  18.    echo 'Ten ID już potwierdzono!<br />';
  19.    }
  20. // mniejsze niż zero być nie może :)
  21. elseif ( $checkconfirm == 0 ) {
  22. // zmiana rekordu na 1
  23. $confirm = 1;
  24. mysql_query ( 'UPDATE `formularz` SET `confirm` = "'.$confirm.'" WHERE `id` = "'.$_GET['id'].'" ')
  25.    or die ( 'Błąd zapytania' );
  26.    echo '<br />Dane zostały zaktualizowane - tzn ze zmieniono confirm na 1';
  27. }
  28. ?>


Teraz powinno Ci ładnie zatrybić smile.gif

Ten post edytował DREEMus 16.04.2009, 00:44:04


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
Go to the top of the page
+Quote Post
lnn
post 16.04.2009, 00:55:48
Post #5





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


cholera mam teraz maly problem, bo mi sie biala strona pokazuje bez niczego ;/ chyba napiszze to jeszcze raz moze natkne sie o co chodzi ...
Go to the top of the page
+Quote Post
DREEMus
post 16.04.2009, 01:15:13
Post #6





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


Sam się zamotałem ...
Sprawdziłem u siebie, działa ...
  1. <?php
  2. // 1 sprawdza date promocji
  3. // 2 sprawdza czy juz potwierdzono jesli nie to potwierdza (zmienia wartosc confirm na 1)
  4. // 3 warunek z data<=datakoniec && wysylka maila z danymi
  5.  
  6. $data = date ("d-m-Y, G:i");
  7. $data_koniec = date ("17-04-2009, 21:02"); // okreslenie końca promocji
  8. // sprawdzanie potwierdzenia
  9. // wylicza czy dany ID jest już w bazie, jeżeli tak dostajesz 1, jeżeli nie dostajesz 0
  10. $checkconfirm = mysql_query ( 'SELECT `confirm` FROM `formularz` WHERE `id` = "'.$_GET['id'].'" ' )
  11.        or die ( 'Błąd w liczeniu :)' );
  12. $row = mysql_fetch_assoc ( $checkconfirm );
  13. echo $row['confirm'];
  14.  
  15. if ( $data >= $data_koniec ) {
  16.        echo 'koniec promocji! <br />';
  17.        } elseif ( $row['confirm'] == 1 ) {
  18.                echo 'Ten ID już potwierdzono!<br />';
  19.                } elseif ( $row['confirm'] == 0 ) { // mniejsze niż zero być nie może :)
  20.                        // zmiana rekordu na 1
  21.                        $confirm = 1;
  22.                        mysql_query ( 'UPDATE `formularz` SET `confirm` = "'.$confirm.'" WHERE `id` = "'.$_GET['id'].'" ')
  23.                                or die ( 'Błąd zapytania' );
  24.                        echo '<br />Dane zostały zaktualizowane - tzn ze zmieniono confirm na 1';
  25.                        }
  26. ?>


Ten post edytował DREEMus 16.04.2009, 01:16:00


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
Go to the top of the page
+Quote Post
lnn
post 16.04.2009, 01:20:18
Post #7





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


DREEMus, dzieki teraz dziala! smile.gif
Go to the top of the page
+Quote Post
DREEMus
post 16.04.2009, 01:26:35
Post #8





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


dzięki, ale nie pije smile.gif


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
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 Wersja Lo-Fi Aktualny czas: 13.08.2025 - 23:19